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

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

Event Loop — это механизм, который позволяет Python (в частности, asyncio) выполнять асинхронные операции, управляя выполнением корутин и переключаясь между ними при ожидании I/O.

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

  1. Цикл событий постоянно проверяет очередь задач (event queue).
  2. При await текущая корутина приостанавливается, и Event Loop переключается на другую задачу.
  3. Когда I/O операция завершается (например, ответ от сервера), Event Loop возобновляет ожидающую корутину.

Пример:

python
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())

Вывод:

text
A started  
B started  
B finished (после 1 сек)  
A finished (после 2 сек)  

Event Loop эффективно управляет множеством задач без блокировки потока.

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

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

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

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