Встречается на собеседованиях • сегодня
Как устроен 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
интервью вопросы и ответы