Встречается на собеседованиях • сегодня
Как отрабатывают задачи в Event Loop
Event Loop — это механизм, который управляет выполнением асинхронного кода в Python (например, в asyncio). Он работает в бесконечном цикле, обрабатывая задачи из очереди.
Основные этапы:
- Запуск цикла: Event Loop начинает работу, выбирая задачи из очереди.
- Выполнение корутин: Каждая задача (корутина) выполняется до первого
await. - Ожидание I/O: Если корутина ожидает I/O (например, запрос к API), Event Loop приостанавливает её и переключается на другие задачи.
- Callback-и: По завершении I/O Event Loop ставит callback в очередь для выполнения.
- Завершение: Цикл продолжает работу, пока не обработает все задачи.
Пример:
python
import asyncio
async def task():
print("Start task")
await asyncio.sleep(1) # I/O операция
print("Task completed")
async def main():
await asyncio.gather(task(), task())
asyncio.run(main())Здесь asyncio.sleep освобождает Event Loop для выполнения других задач, пока ожидает завершения сна.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы