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

Что такое P в модели GMP

Вопрос

Что такое P в планировщике Go?

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

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

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

Коротко

Правильный ответ: Логический процессор с локальной очередью G; M нужен P для Go-кода. G это горутина, M это поток ОС, P это ресурс для выполнения Go-кода с локальной очередью готовых G и кешем аллокатора.

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

  1. Физическое ядро процессора, к которому привязан поток M
  2. Логический процессор с локальной очередью G; M нужен P для Go-кодаправильный ответ
  3. Процесс ОС, в котором рантайм запускает группу горутин
  4. Приоритет горутины в очереди планировщика, число от 0 до 255 включительно

Разбор

G это горутина, M это поток ОС, P это ресурс для выполнения Go-кода с локальной очередью готовых G и кешем аллокатора. Число P равно GOMAXPROCS и не обязано совпадать с числом физических ядер. Процессов ОС и приоритетов у горутин в этой модели нет.

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

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