Sobes.tech
Назад к вопросам
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.