Ответ
Когда у процессора (CPU) нет задач для выполнения, операционная система переводит его в состояние простоя (idle state) для снижения энергопотребления и тепловыделения.
Это достигается с помощью специальной инструкции, такой как HLT
(halt) на архитектуре x86. В этом состоянии процессор прекращает выполнение инструкций до получения следующего прерывания (например, от таймера или устройства ввода-вывода).
Современные процессоры поддерживают более глубокие состояния сна (C-states, от C1 до C-states), которые обеспечивают еще большую экономию энергии, отключая различные компоненты процессора. Чем глубже состояние сна, тем больше времени требуется для "пробуждения".
Какое отношение это имеет к Go?
Go runtime управляет горутинами, распределяя их по потокам ОС. Если в Go-приложении нет готовых к выполнению горутин, планировщик Go может перевести соответствующий поток операционной системы в состояние ожидания. Это, в свою очередь, позволяет ОС перевести физический CPU в состояние простоя, если других задач в системе также нет.