Jonathan Shao wrote:
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/
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.
>
>
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.
>
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/