На одном P планировщика Go в каждый момент исполняется одна горутина с Go-кодом. Остальные могут быть готовы или ждать; это не то же самое, что число горутин в программе.
Сколько горутин может одновременно выполняться на одном логическом процессоре в Go?
На одном P планировщика Go в каждый момент исполняется одна горутина с Go-кодом. Остальные могут быть готовы или ждать; это не то же самое, что число горутин в программе.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
На одном P планировщика Go в каждый момент исполняется одна горутина с Go-кодом. Остальные могут быть готовы или ждать; это не то же самое, что число горутин в программе.
GOMAXPROCS ограничивает число P и одновременно исполняемого Go-кода. Заблокированные на вводе-выводе горутины не занимают выполнение P постоянно. Системные вызовы и cgo усложняют подсчёт потоков ОС, поэтому нельзя говорить, что всего существует не больше GOMAXPROCS потоков. Если под логическим процессором имеется в виду CPU hardware thread, уточните термин у интервьюера.