Встречается на 2% собеседований по Python
Как устроен asyncio
Asyncio — это библиотека Python для асинхронного программирования, основанная на концепции event loop (цикла событий). Она использует корутины (coroutines) и ключевые слова async/await для неблокирующего выполнения задач.
Основные компоненты:
- Event Loop — управляет выполнением корутин и обрабатывает события (I/O, таймеры).
- Корутины — функции, объявленные через
async def, которые могут приостанавливать выполнение черезawait. - Футуры (Futures) — объекты, представляющие результат асинхронной операции.
- Задачи (Tasks) — подкласс Future, обёртка вокруг корутины для запуска в event loop.
Пример:
python
import asyncio
async def foo():
print("Start")
await asyncio.sleep(1) # Неблокирующая задержка
print("End")
async def main():
task = asyncio.create_task(foo()) # Запуск корутины как задачи
await task # Ожидание завершения
asyncio.run(main()) # Запуск event loopПринцип работы:
- Event loop выполняет корутины по очереди.
- При встрече
awaitуправление возвращается в loop, который может переключиться на другую задачу. - I/O операции выполняются асинхронно через системные вызовы (epoll/kqueue).

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