В моем проекте используется eventlet
, и теперь я должен асинхронно читать и записывать в файл (на самом деле это устройство). Я попробовал eventlet.tpool.execute()
для запуска потока чтения, но он блокирует основной цикл.Совместное использование eventlet с системными вызовами
Мой вопрос: как запустить поток чтения одновременно с потоком событий? Возможно ли, чтобы эти два потока сообщались в некотором роде?
Быстрый эскиз:
def functionB():
while True:
data = readFile()
doSomethingWith(data)
def functionA():
doSomething()
tpool.execute(functionB)
doSomethingElse()
Тогда doSomethingElse()
никогда не вызывается.
могли бы вы предоставить более подробную информацию о «блоках основной цикл» часть? Кроме того, минимальный код воспроизведения будет очень полезен. – temoto
@temoto Добавил быстрый эскиз, надеюсь, вы поймете, что я имею в виду. –