Ответ
Ограничение процессоров (GOMAXPROCS) определяет максимальное количество операционных системных потоков, которые могут одновременно выполнять код Go. По умолчанию равно количеству логических CPU.
Пример:
runtime.GOMAXPROCS(2) // Ограничиваем до 2 потоков
Нюансы:
- Не влияет на количество горутин (их может быть больше)
- Слишком малое значение может снизить производительность
- Слишком большое может увеличить накладные расходы на переключение контекста
Изменять GOMAXPROCS обычно требуется редко, так как Go эффективно управляет этим сам.