Встречается на собеседованиях • сегодня
Как затрачивается CPU в асинхронности
В асинхронном Python (asyncio) CPU используется эффективнее, чем в синхронном коде, за счёт кооперативной многозадачности. Поток выполнения освобождается при await, позволяя обрабатывать другие задачи во время ожидания I/O.
Ключевые моменты:
- CPU не блокируется на I/O операциях (сеть, файлы и т.д.)
- Один поток может обрабатывать тысячи соединений
- Нет накладных расходов на переключение потоков (как в threading)
Пример:
python
import asyncio
async def task(name, delay):
print(f"{name} started")
await asyncio.sleep(delay) # Освобождает CPU на время ожидания
print(f"{name} finished")
async def main():
await asyncio.gather(
task("A", 2),
task("B", 1),
)
asyncio.run(main())Вывод:
text
A started
B started
B finished (через 1 сек)
A finished (через 2 сек)Нюансы:
- CPU-bound задачи (например, вычисления) блокируют event loop — для них нужен отдельный поток/процесс.
- Неправильное использование
awaitможет привести к простою CPU.

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