Junior — Middle
87
Czy można uruchomić kilka pętli zdarzeń w jednym wątku Pythona i jak to zrobić?
Firmy, w których zadano pytania
Odpowiedź od AI
sobes.tech AI
В Python стандартная библиотека asyncio не поддерживает запуск нескольких циклов событий (event loops) в одном потоке одновременно. Каждый поток может иметь только один активный цикл событий.
Если нужно работать с несколькими циклами событий, обычно создают отдельные потоки или процессы для каждого цикла. В одном потоке можно запустить только один цикл событий.
Пример запуска цикла событий в отдельном потоке:
import asyncio
import threading
def start_loop(loop):
asyncio.set_event_loop(loop)
loop.run_forever()
new_loop = asyncio.new_event_loop()
threading.Thread(target=start_loop, args=(new_loop,)).start()
# Теперь в new_loop можно запускать корутины из другого потока