Как планировщик выбирает какую горутину запустить?

Middle+
164 просмотров
AFK Offer AI

Планировщик Go (GMP) сначала проверяет локальную очередь текущего P. Если там пусто — пытается украсть работу у другого P (work stealing). Также каждые ~61 итерацию проверяет глобальную очередь, чтобы горутины там не зависали. Приоритет отдаётся горутинам, которые только что разблокировались — они попадают в runnext слот P.

Следующий вопрос

Как ты решаешь что логировать в production?