Jonathan Shao wrote: > Hi all, > > I'm a beginner to Python, so please bear with me. > > Is there a way of guarenteeing that all created threads in a program are > finished before the main program exits? I know that using join() can > guarentee this, but from the test scripts I've run, it seems like join() > also forces each individual thread to terminate first before the next > thread can finish. So if I create like 20 threads in a for loop, and I > join() each created thread, then join() will in effect cause the threads > to be executed in serial rather than in parallel. > No it won't, as in fact there is no mechanism to force a thread to terminate in Python. When you join() each created thread the main thread will wait for each thread to finish. Supposing the longest-lived thread finished first then all others will immediately return from join().
The only requirement it is imposing is that all sub-threads must be finished before the main thread terminates. regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/ -- http://mail.python.org/mailman/listinfo/python-list