`gevent.event.Event`的多监听器通知更好的模式?
我发现大多数时候,当我使用 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()
。