Встречается на собеседованиях • сегодня

Как работает event loop (цикл событий) в Python

Event loop — это механизм, который позволяет асинхронному коду работать, управляя выполнением задач, корутин и обратных вызовов. В Python он реализован в модуле asyncio.

Основные принципы:

  1. Очередь задач: Event loop обрабатывает задачи из очереди по одной.
  2. Неблокирующие операции: Если задача ожидает I/O (например, запрос к сети), event loop приостанавливает её и переключается на другую задачу.
  3. Обратные вызовы: После завершения I/O задача возобновляется.

Пример:

python
import asyncio

async def task():
    print("Start")
    await asyncio.sleep(1)  # Неблокирующая задержка
    print("End")

async def main():
    await asyncio.gather(task(), task())  # Запуск двух задач параллельно

asyncio.run(main())  # Запуск event loop

Вывод:

text
Start  
Start  
(1 секунда задержки)  
End  
End  

Event loop обеспечивает конкурентность без многопоточности, используя корутины и await.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы