Scheduling loop — это бесконечный цикл, в котором крутится каждый M (системный тред). Цикл: взять G из локальной очереди P, если пусто — украсть из чужой P (work stealing), если и там пусто — проверить глобальную очередь, если вообще нечего делать — припарковать M. Найденная горутина выполняется до момента вытеснения: syscall, блокировка на канале, preemption signal. После чего управление возвращается в scheduling loop и цикл повторяется. Это функция schedule() в runtime.
Как работает goroutine scheduling loop?
Senior
313 просмотровAFK Offer AI
Что такое goroutine dump?