Планировщик какого семейства используется в Go?

Go использует M:N-планирование горутин поверх потоков ОС и балансировку готовой работы, включая work stealing. Это не один поток на горутину и не только кооперативная модель.

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

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

Go использует M:N-планирование горутин поверх потоков ОС и балансировку готовой работы, включая work stealing. Это не один поток на горутину и не только кооперативная модель.

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

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

Go использует M:N-планирование горутин поверх потоков ОС и балансировку готовой работы, включая work stealing. Это не один поток на горутину и не только кооперативная модель.

Готовые горутины распределяются между исполнителями; локальные очереди помогают уменьшать конкуренцию, а перенос работы — не оставлять процессор без задач. Существуют также глобальная очередь, таймеры и ожидание I/O.

Планировщик сочетает уступку выполнения при ожидании с возможностью вытеснения. Конкретные эвристики runtime — детали реализации, поэтому нельзя обещать строгую справедливость или фиксированное время запуска каждой задачи.

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

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

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

Подробнее