Встречается на собеседованиях • сегодня
Почему не стоит в event loop много задач
Добавление слишком большого количества задач в event loop может привести к нескольким проблемам:
- Перегрузка памяти – каждая задача потребляет память, и при большом их количестве возможны утечки или OOM-ошибки.
- Блокировка event loop – если задачи выполняют CPU-bound операции или блокирующие вызовы, event loop не сможет эффективно переключаться между задачами.
- Увеличение latency – задачи будут дольше ждать своей очереди на выполнение, что скажется на отзывчивости приложения.
Пример плохой практики:
python
import asyncio
async def cpu_bound_task():
# Долгая CPU-bound операция
sum(i * i for i in range(10**6))
async def main():
tasks = [cpu_bound_task() for _ in range(10_000)]
await asyncio.gather(*tasks) # Перегрузка event loop
asyncio.run(main())Решение – ограничивать количество одновременных задач, использовать asyncio.Semaphore или выносить CPU-bound задачи в отдельные потоки через loop.run_in_executor().

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