首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >pyinotify异步通知器线程问题

pyinotify异步通知器线程问题
EN

Stack Overflow用户
提问于 2010-10-18 06:22:31
回答 1查看 1.2K关注 0票数 1

我对异步通知器的工作原理感到困惑。通知程序中线程的确切内容是什么?just the watcher是线程的吗?还是每个处理程序函数的回调都在自己的线程上运行?

文档基本上没有提到类的细节。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-20 21:33:38

AsyncNotifier不使用线程,它使用asynchronous socket handler循环。

如果您谈论的是ThreadedNotifier,那么每个回调似乎都是在每个通知器的同一线程中调用的。

这意味着即使您有多个EventHandlers注册到某个WatchManager,它们也都会从同一个线程发出回调。

我找不到在哪里显式地记录了这一点,但从为ThreadedNotifier.loop()方法生成的文档中似乎隐含了这一点,文档中写道:

事件最多每分钟(read_freq,超时)秒读取一次,并且仅当要读取的事件大小为>=阈值时才读取。

...which我的意思是,它在单个线程中作为一个相当简单的循环运行,从该循环发出回调。

我尝试过在回调函数中简单地打印threading.current_thread()的结果,它验证了这一点。

(如果您认为有必要的话,您可以随时提交issue以请求更具体的文档。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3955544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档