Встречается на собеседованиях • сегодня

Сколько корутин можно сделать одновременно

В Python количество одновременно работающих корутин ограничено только доступной оперативной памятью и производительностью системы. В отличие от потоков, корутины не создают настоящих потоков ОС, а работают в рамках одного потока, переключаясь по событийному циклу.

На практике можно создавать десятки тысяч корутин. Например:

python
import asyncio

async def dummy_task():
    await asyncio.sleep(1)

async def main():
    tasks = [asyncio.create_task(dummy_task()) for _ in range(100_000)]
    await asyncio.gather(*tasks)

asyncio.run(main())

Однако есть нюансы:

  1. Каждая корутина потребляет память (обычно ~1-3KB)
  2. Большое количество активных корутин может замедлить event loop
  3. Ограничения могут накладывать системные вызовы (например, лимиты на открытые файлы)

Оптимальное количество зависит от конкретной задачи и доступных ресурсов. Для IO-bound задач обычно эффективны тысячи корутин.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы