我正在使用 threading.Thread
来实现我的代码多线程化。
如果至少有 1 个线程在 X 秒内没有完成工作,我想要捕获 Timeout exception
。
我在这里找到了一些答案,描述了如何处理这个问题,但大部分都是适用于 UNIX 系统,而我正在使用 Windows 平台。
示例代码:
from threading import Thread
from time import sleep
def never_stop():
while True:
print 'a'
sleep(5)
print 'b'
return
t1 = Thread(target=never_stop)
t1.start()
t2 = Thread(target=never_stop)
t2.start()
t3 = Thread(target=never_stop)
t3.start()
t1.join(2)
t2.join(2)
t3.join(2)
我试过在
join
方法中设置超时,但是没有用。。有什么想法吗?
daemon=True
可以解决这个问题。 - Carlos Souza