AsyncNotifier не использует многопоточность, он использует асинхронный обработчик сокетов цикл.
Если вы говорите о ThreadedNotifier , тогда каждый обратный вызов, кажется, вызывается в том же потоке для уведомителя .
Это означает, что даже если у вас есть несколько EventHandlers
, зарегистрированных с некоторым WatchManager
, они все будут выдаватьобратные вызовы из того же потока.
Я не могу найти, где это явно задокументировано, но кажется неявным из сгенерированной документации для метода ThreadedNotifier.loop()
, где говорится:
События читаются только один раз раз в минуту (в лучшем случае - read_freq, timeout) секунды, и только если размер событий для чтения> = порог.
..., который, как я понял, работает какдовольно простой цикл в одном потоке, выдающий обратные вызовы из этого цикла.
Я экспериментировал, просто печатая результат threading.current_thread()
в обратных вызовах, и он проверял это.
(Вы могли бы всегдаs подайте проблему , чтобы запросить более конкретную документацию, если вы считаете, что это оправдано.)