Sobes.tech
Back to questions
Senior
3

Из каких основных структур состоит Go scheduler?

Companies where asked
Финтехробот

Answer from AI

sobes.tech AI

Go scheduler основан на модели M:N, где M — количество системных потоков (OS threads), а N — количество горутин (goroutines). Основные структуры:

  • G (Goroutine) — представляет собой отдельную горутину, содержит её стек, состояние и контекст выполнения.
  • M (Machine) — системный поток, который выполняет горутины.
  • P (Processor) — логический процессор, который связывает M и G, управляет очередью готовых к выполнению горутин.

Работа scheduler сводится к распределению горутин (G) на доступные процессоры (P), которые в свою очередь выполняются потоками (M). Количество P обычно равно числу доступных CPU, что позволяет эффективно использовать многопоточность и планировать выполнение горутин с минимальными накладными расходами.