Какие очереди есть в GMP-модели?

В модели GMP (Golang's GMP — это внутренняя модель планировщика goroutine, M — OS thread, P — processor) реализовано два основных типа очередей:

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

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

В модели GMP (Golang's GMP — это внутренняя модель планировщика goroutine, M — OS thread, P — processor) реализовано два основных типа очередей:

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

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

В модели GMP (Golang's GMP — это внутренняя модель планировщика goroutine, M — OS thread, P — processor) реализовано два основных типа очередей:

  1. Local run queue — локальная очередь задач (goroutine) для каждого P (processor). Каждая P имеет свою очередь, из которой она берёт задачи для выполнения.
  2. Global run queue — глобальная очередь задач, общая для всех P, куда попадают задачи, если локальные очереди переполнены или при балансировке нагрузки.

Таким образом, в модели GMP реализованы две основные очереди для планирования goroutine: локальная и глобальная.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее