🟡 Средний · 2 очк. Go runtime
С каким начальным размером стека создаётся горутина в Go?
A 1 МБ (как поток ОС)
B 2-8 КБ с динамическим ростом
C 64 КБ фиксированно
D Зависит от GOMAXPROCS
Объяснение вопроса

Горутина в современных версиях Go создаётся с начальным стеком порядка 2-8 КБ (точное значение может меняться). Стек горутины динамически растёт и при необходимости сжимается, в отличие от потоков ОС с фиксированным стеком (обычно 1-8 МБ).

Следствия

  • Создание горутины дёшево - можно иметь сотни тысяч и миллионы горутин
  • Потоков ОС (M в модели GMP) ограниченное число - горутины мультиплексируются на них

Поэтому идиоматично запускать горутину на каждую задачу (запрос, задача в очереди), а не пул потоков как в других языках.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.