Расскажи про GMP-модель планировщика Go.

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

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

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

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

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

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку