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

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