Встречается на собеседованиях • сегодня
Как работает модуль asyncio
asyncio — это библиотека для написания конкурентного кода с использованием корутин (coroutines) через синтаксис async/await. Основные компоненты:
- Event Loop — управляет выполнением задач, переключаясь между ними при блокирующих операциях (I/O, sleep).
- Coroutines — функции, объявленные через
async def, которые могут приостанавливать выполнение черезawait. - Tasks — обёртки вокруг корутин, планируемые в event loop.
- Futures — объекты, представляющие результат асинхронной операции.
Пример:
python
import asyncio
async def fetch_data():
print("Начинаем загрузку...")
await asyncio.sleep(2) # Имитация I/O операции
print("Данные загружены")
return {"data": 123}
async def main():
task = asyncio.create_task(fetch_data())
print("Делаем что-то параллельно...")
await task # Ожидаем завершения задачи
print("Результат:", task.result())
asyncio.run(main())Ключевые моменты:
awaitпередаёт управление обратно в event loop.asyncio.run()запускает event loop.- Задачи (
Tasks) выполняются конкурентно, но не параллельно (если нет многопоточности). - Подходит для I/O-bound задач (сеть, файлы), но не для CPU-bound.

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