Threading question
Torsten Marek
torsten.marek at student.uni-tuebingen.de
Thu Apr 15 06:47:25 EDT 2004
Peter Hansen schrieb:
> Torsten Marek wrote:
>
>> I have a simple question about threads in Python. I am starting a
>> number of threads in my program and I want print out the amount of
>> time needed after all threads stopped. Do I need to explictly join the
>> threads, set a condition or is it possible to somehow work with
>> try/finally like that:
>>
>> try:
>> for i in range(0, num_threads):
>> s = MyThread()
>> s.start()
>> finally:
>> print "all threads finished"
>
>
> The other threads are running in, well, other threads, so you
> won't see any effect on the above thread when they end. Therefore
> you can't get much mileage out of a finally clause. A .join()
> is definitely the way to go here.
>
> -Peter
I found another way to go for now, which works fine for me.
Since the threading module sets sys.exitfunc, I just do:
def my_exitfunc():
global thread_wait
thread_wait()
# own stuff follows here...
thread_wait = sys.exitfunc
sys.exitfunc = my_exitfunc
That's maybe not very clean, but it's just a minor script I wrote, so I
don't want to waste to much time on it;-)
Anyway, thanks for the answer
Torsten
More information about the Python-list
mailing list