Есть ли ограничение на количество одновременно запускаемых горутин? Что будет при запуске миллиона горутин?

Фиксированного небольшого лимита горутин в Go нет, но их число ограничено памятью и ресурсами процесса. Миллион горутин может создать серьёзную нагрузку даже при малом начальном стеке.

Короткий ответ

Что ответить на собеседовании

Фиксированного небольшого лимита горутин в Go нет, но их число ограничено памятью и ресурсами процесса. Миллион горутин может создать серьёзную нагрузку даже при малом начальном стеке.

Подробный разбор

Ответ с пояснениями

Фиксированного небольшого лимита горутин в Go нет, но их число ограничено памятью и ресурсами процесса. Миллион горутин может создать серьёзную нагрузку даже при малом начальном стеке.

Помимо стека учитывайте захваченные данные, очередь планировщика, GC, соединения и файловые дескрипторы. Горутины не равны одновременно работающим CPU-потокам. Ограничивайте конкурентность пулом работников или семафором и предусматривайте отмену. Оценивать безопасность нужно измерениями, а не утверждением, что горутины «почти бесплатны».

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее