Назад к вопросам
Middle+
5
Расскажи про устройство планировщика Go (GMP модель).
Компании, где спрашивали
X5
Ответ от нейросети
sobes.tech AI
Планировщик Go основан на модели GMP, где:
- G (goroutine) — легковесная нить исполнения.
- M (machine) — системный поток операционной системы.
- P (processor) — логический процессор, который связывает G и M.
Каждый M может выполнять только одну G одновременно, но для выполнения G требуется P. Количество P ограничено параметром GOMAXPROCS, который задаёт максимальное число одновременно выполняемых горутин на уровне ОС.
Планировщик распределяет горутины по доступным P и M, переключая их по мере необходимости. Если горутина блокируется (например, на ввод-вывод), M освобождается и может взять другую G, чтобы не простаивать.
Это позволяет эффективно использовать системные ресурсы, обеспечивая высокую конкурентность и масштабируемость приложений на Go.