在Python文档中 它说:
线程可以标记为"守护程序线程".这个标志的意义在于,当只剩下守护进程线程时,整个Python程序都会退出.初始值继承自创建线程.
有没有人更明确地解释这意味着什么或一个实际的例子显示你想要将线程设置为何处daemonic?
为我澄清一下:
因此,如果您希望它们在主线程退出后继续运行,那么您唯一不会将线程设置为守护程序的时间是?
在我的代码中有一个与套接字相关的函数调用,该函数来自另一个模块,因此无法控制,问题是它偶尔会阻塞几个小时,这是完全不可接受的,我如何限制代码中的函数执行时间?我想解决方案必须使用另一个线程.
我正在使用threading.Thread多线程代码。我想Timeout exception知道至少有1个线程没有在X秒内完成工作。我在这里找到了一些答案,描述了如何解决该问题,但是大多数答案都与UNIX兼容,而我使用的是Windows平台。
代码例如:
from threading import Thread
from time import sleep
def never_stop():
while 1 > 0:
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)
Run Code Online (Sandbox Code Playgroud)
我试图在该join方法中设置超时,但没有用。
有任何想法吗?