`gevent.event.Event`的多监听器通知更好的模式?

1 投票
1 回答
726 浏览
提问于 2025-04-17 00:25

我发现大多数时候,当我使用 gevent.event.Event 的时候,我的代码大概是这样的:

old_event = self.some_event
self.some_event = Event()
old_event.set()

而监听器的样子大概是这样的:

while 1:
    self.some_event.wait()
    … do stuff …

这样做算是“正确的方式”吗?或者有没有更好的方法来通知多个监听器一个重复发生的事件呢?

1 个回答

1

好吧,你也可以用 clear() 来清除这个事件。

event.set()
event.clear()

这样做会通知那些正在等待这个事件的监听者,但那些稍后开始等待的监听者会被阻塞,直到下次调用 set()

撰写回答