herman wrote: > In my python program, I would to like to spwan 5 threads, for the them > for 5 minutes maximum and the continue. Here is my script: > > threads = [] > > for j in range(5): > t = MyThread() > threads.append(t) > > for t in threads: > t.join(60*5) > print "thread join\n" > > # wait for 5 minutes for all the threads to complete , and > # then continue > > But this code ends up waiting 5 minutes for **each** thread. that is > not what I want. I just want to wait for 5 minutes for all threads. > how can I do that?
Untested: from time import time deadline = time() + 60*5 for t in threads: t.join(max(0, deadline - time())) > And after 5 minutes, i want to kill off all the threads I spawn > earlier, how can I do that in python. That's harder. Python has no threadicide method, and its absence is not an oversight. Can you arrange for your threads to check a flag periodically, or might they be hung? Your other choice is to end the entire process. -- --Bryan -- http://mail.python.org/mailman/listinfo/python-list