Как работает Event Loop

Python Middle Без компании
Как работает Event Loop
Ответы
Event Loop — это механизм, который позволяет Python (в частности, asyncio) выполнять асинхронные операции, управляя выполнением корутин и переключаясь между ними при ожидании I/O. **Основные принципы:** - **Цикл событий** постоянно проверяет очередь задач (event queue). - При **await** текущая корутина приостанавливается, и Event Loop переключается на другую задачу. - Когда I/O операция завершается (например, ответ от сервера), Event Loop возобновляет ожидающую корутину. **Пример:** ``` import asyncio async def task(name, delay): print(f"{name} started") await asyncio.sleep(delay) # Неблокирующая задержка print(f"{name} finished") async def main(): await asyncio.gather( task("A", 2), task("B", 1), ) asyncio.run(main()) ``` **Вывод:** ``` A started B started B finished (после 1 сек) A finished (после 2 сек) ``` Event Loop эффективно управляет множеством задач без блокировки потока.