Выбор ответа Middle Горутины и планировщик GMP спрашивают часто обновлено
Что такое P в модели GMP
Вопрос
Что такое P в планировщике Go?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Логический процессор с локальной очередью G; M нужен P для Go-кода. G это горутина, M это поток ОС, P это ресурс для выполнения Go-кода с локальной очередью готовых G и кешем аллокатора.
Варианты ответа
- Физическое ядро процессора, к которому привязан поток M
- Логический процессор с локальной очередью G; M нужен P для Go-кодаправильный ответ
- Процесс ОС, в котором рантайм запускает группу горутин
- Приоритет горутины в очереди планировщика, число от 0 до 255 включительно
Разбор
G это горутина, M это поток ОС, P это ресурс для выполнения Go-кода с локальной очередью готовых G и кешем аллокатора. Число P равно GOMAXPROCS и не обязано совпадать с числом физических ядер. Процессов ОС и приоритетов у горутин в этой модели нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.