Python 线程和pyfsevents
该模块允许Python程序利用Mac OS FSX事件框架。可以注册一个路径和一个回调函数,然后调用listen()函数,该函数将一直阻塞,直到注册的路径中发生文件系统事件Python 线程和pyfsevents,python,macos,multithreading,Python,Macos,Multithreading,该模块允许Python程序利用Mac OS FSX事件框架。可以注册一个路径和一个回调函数,然后调用listen()函数,该函数将一直阻塞,直到注册的路径中发生文件系统事件 pyfsevents.registerpath("/example", callback) pyfsevents.listen() 我想在多线程程序中使用这个模块,让一个线程阻塞并等待文件系统事件,然后通知另一个线程处理该事件。不幸的是,看起来listen()阻塞了整个程序,而不仅仅是调用线程。有人能证实这
pyfsevents.registerpath("/example", callback)
pyfsevents.listen()
我想在多线程程序中使用这个模块,让一个线程阻塞并等待文件系统事件,然后通知另一个线程处理该事件。不幸的是,看起来listen()阻塞了整个程序,而不仅仅是调用线程。有人能证实这一点吗?有没有办法只阻止调用线程?如果没有,是否有实现类似功能的方法,即让线程检测目录中的更改,最好不用轮询?是,例如(在“限制”下)
线程不安全:CFRunLoop和Python
线程不能很好地交互
放在一起时:)
我建议使用它来隔离专用流程中使用的pyfsevents
,该流程可以以您喜欢的任何方式(例如,通过多处理.队列
)向主流程发送“提醒”警报
如果需要在Python2.5上运行,则有一个
多处理
模块,后者仅在Python2.6之后才出现在标准库中,但是backport在2.4和2.5上运行良好。尝试MacFSEvents。它是线程安全的