Выбор ответа Junior Горутины и планировщик GMP спрашивают часто обновлено

Что задаёт GOMAXPROCS

Вопрос

Что ограничивает GOMAXPROCS?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Сколько потоков разом выполняют Go-код. GOMAXPROCS это число P, то есть сколько горутин могут выполнять Go-код параллельно.

Варианты ответа

  1. Максимальное число горутин в процессе
  2. Общее число потоков ОС, включая syscall
  3. Сколько потоков разом выполняют Go-кодправильный ответ
  4. Число ядер, которые видит ОС и cgroups

Разбор

GOMAXPROCS это число P, то есть сколько горутин могут выполнять Go-код параллельно. Горутин может быть сколько угодно. Потоков ОС бывает больше: потоки, заблокированные в системных вызовах или cgo, не держат P (лимит на число потоков задаёт debug.SetMaxThreads, по умолчанию 10000). На то, что видит ОС, GOMAXPROCS не влияет.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.