We need a stable professional way of handling the completion of the threads.runs
The examples people are showing right not are either very simple, i.e just loop and wait or use unique complicated error prone solutions.
Is there a preferred way e.g. using asynchronous ways to solve this in a proper way?