Back to questions
Junior — Middle
67
Можете объяснить, каким образом реализован цикл событий (event loop) в Python и какую роль он выполняет в асинхронном программировании?
Companies where asked
РЕСО-Лизинг
Answer from AI
sobes.tech AI
В Python цикл событий (event loop) реализован в модуле asyncio и отвечает за управление асинхронными задачами.
Event loop постоянно проверяет очередь событий и выполняет задачи, когда они готовы, не блокируя основной поток. Это позволяет эффективно работать с операциями ввода-вывода, не создавая множество потоков.
Пример работы event loop:
import asyncio
async def say_hello():
await asyncio.sleep(1)
print("Hello")
async def main():
await asyncio.gather(say_hello(), say_hello())
asyncio.run(main())
Здесь event loop запускает корутины say_hello, переключаясь между ними во время ожидания sleep, что позволяет выполнять другие задачи без блокировки.
Таким образом, event loop в Python обеспечивает кооперативное многозадачное выполнение асинхронного кода.