The AsyncNotifier doesn't use threading, it uses the asynchronous socket handler loop.
If you're talking about the ThreadedNotifier, then each callback seems to be called in the same thread per notifier.
This means that even if you have several EventHandlers
registered with some WatchManager
, they will all issue callbacks from the same thread.
I can't find where this is explicitly documented, but seems implicit from the generated documentation for the ThreadedNotifier.loop()
method, where it says:
Events are read only once time every min(read_freq, timeout) seconds at best and only if the size of events to read is >= threshold.
...which I took to mean it operates as a fairly simple loop in a single thread, issuing callbacks from that loop.
I have experimented by simply printing the result of threading.current_thread()
in the callbacks, and it verifies this.
(You could always file an issue to request more specific documentation if you think that's warranted.)