Ответ
GOMAXPROCS — это переменная окружения в Go, которая определяет максимальное количество потоков ОС, которые могут одновременно выполнять код Go. По умолчанию равно количеству логических CPU.
Пример:
func main() {
runtime.GOMAXPROCS(4) // Устанавливаем 4 потока
fmt.Println(runtime.GOMAXPROCS(0)) // 4 (0 возвращает текущее значение)
}
Важно:
- Влияет только на параллельное выполнение (не на конкурентность)
- С версии Go 1.5 по умолчанию равно
runtime.NumCPU() - Чрезмерное увеличение может привести к contention