How to check for threads being finished?

Steven D'Aprano steve+comp.lang.python at pearwood.info
Fri Jul 5 12:59:54 EDT 2013


I have a pool of worker threads, created like this:

threads = [MyThread(*args) for i in range(numthreads)]
for t in threads:
    t.start()


I then block until the threads are all done:

while any(t.isAlive() for t in threads):
    pass


Is that the right way to wait for the threads to be done? Should I stick 
a call to time.sleep() inside the while loop? If so, how long should I 
sleep? That's probably an unanswerable question, but some guidelines on 
choosing the sleep time will be appreciated.




-- 
Steven



More information about the Python-list mailing list