我对 asyncnotifier 的工作方式感到困惑。通知程序中到底包含了什么?只是观察者线程?还是每个处理函数的回调都在自己的线程上运行?
该文档基本上没有说明该类的细节。
我对 asyncnotifier 的工作方式感到困惑。通知程序中到底包含了什么?只是观察者线程?还是每个处理函数的回调都在自己的线程上运行?
该文档基本上没有说明该类的细节。
AsyncNotifier不使用线程,它使用异步套接字处理程序循环。
如果您在谈论ThreadedNotifier,那么每个回调似乎都在每个 notifier的同一线程中调用。
这意味着即使您有几个EventHandlers
注册 some WatchManager
,它们都会从同一个线程发出回调。
我找不到明确记录的位置,但似乎从该ThreadedNotifier.loop()
方法的生成文档中隐含,它说:
事件最多每 min(read_freq, timeout) 秒读取一次,并且仅当要读取的事件大小 >= 阈值时才读取一次。
...我的意思是它在单个线程中作为一个相当简单的循环运行,从该循环发出回调。
我通过简单地threading.current_thread()
在回调中打印结果进行了实验,并验证了这一点。
(如果您认为有必要,您可以随时提出问题以请求更具体的文档。)