Python线程。事件重置?

2024-05-19 23:03:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个函数,我想在threading.Events上重复运行。但是看起来你只能一次使用每个Event实例。在

有没有办法重置thread.Event以便再次触发它?我想应该是这样的:

import threading
import time


def waiting_function(trigger):
    while True:
        trigger.wait()
        # do stuff after trigger
        trigger.reset()

trigger = threading.Event()

waiting_thread = threading.Thread(target=waiting_function, args=[trigger])
waiting_thread.start()

time.sleep(3.)  # do some stuff that takes a while
trigger.set()
time.sleep(3.)  # do some stuff that takes a while
if not trigger.is_set:
    trigger.set()

或者,我是否必须在每个集合之后创建一个新的trigger,并在线程之间共享它?在


Tags: importeventthattimefunctionsleepsomedo