Sobes.tech
Back to questions
Middle+
6

Расскажи про устройство планировщика Go (GMP модель).

Companies where asked
X5

Answer from AI

sobes.tech AI

Планировщик Go основан на модели GMP, где:

  • G (goroutine) — легковесная нить исполнения.
  • M (machine) — системный поток операционной системы.
  • P (processor) — логический процессор, который связывает G и M.

Каждый M может выполнять только одну G одновременно, но для выполнения G требуется P. Количество P ограничено параметром GOMAXPROCS, который задаёт максимальное число одновременно выполняемых горутин на уровне ОС.

Планировщик распределяет горутины по доступным P и M, переключая их по мере необходимости. Если горутина блокируется (например, на ввод-вывод), M освобождается и может взять другую G, чтобы не простаивать.

Это позволяет эффективно использовать системные ресурсы, обеспечивая высокую конкурентность и масштабируемость приложений на Go.