我写一个多线程Python应用程序,其中每个线程应该唤醒在下列情况下:
- 从主线程的信号
- A定时器调用本身开始
换句话说,线程应该根据他们为自己设定一个计时器醒来,并能够从一个管理线程每当有相关事件出现的信号做出反应。
什么是实行双(定时器/事件)唤醒机制的惯用方法是什么?
我写一个多线程Python应用程序,其中每个线程应该唤醒在下列情况下:
换句话说,线程应该根据他们为自己设定一个计时器醒来,并能够从一个管理线程每当有相关事件出现的信号做出反应。
什么是实行双(定时器/事件)唤醒机制的惯用方法是什么?
那么, threading.Event ,有一个等待的方法,这需要一个超时。 所以,你可以做的简单的东西
在主线程:
sleepEvent = threading.Event()
传递到其他线程,并在其中:
sleepEvent.wait(10) # wait for up to 10 seconds
现在,你的线程要么等待10秒(如定时器)或将清除等待,如果主线程调用
sleepEvent.set()