对于单个线程,我会做如何等待线程列表完成? (蟒蛇)
thread.join(60)
threadEvent.set()
我怎样才能使它等待所有线程列表完成或等待超时,然后发出set()的线程。事件()?每个线程都有一个相应的threading.Event(),用于停止线程。重要的部分是,如果达到超时,我需要为每个线程设置事件。
对于单个线程,我会做如何等待线程列表完成? (蟒蛇)
thread.join(60)
threadEvent.set()
我怎样才能使它等待所有线程列表完成或等待超时,然后发出set()的线程。事件()?每个线程都有一个相应的threading.Event(),用于停止线程。重要的部分是,如果达到超时,我需要为每个线程设置事件。
import time
endTime = time.time() + 60
for t in threads:
t.join(endTime - time.time())
t.event.set()
可能会对事件进行循环?由于每个线程都有自己的事件? –
@Douglas Leeder哎呀,忽略了。移动循环中的事件设置。 – phihag
我不确定什么加入()与负超时做。也许这会很糟糕? –
保留一个线程列表及其相应的事件? –
像http://stackoverflow.com/questions/887346/synchronising-multiple-threads-in-python? – kennytm
基本上,如果一旦完成就不加入线程,那么无关紧要 - 因此,您可以等待其中一个线程,然后再等待其余的整个超时时间超时。 –