Назад к вопросам
Junior — Middle
87
Можно ли программно регулировать число запускаемых процессов в среде выполнения Go?
Ответ от нейросети
sobes.tech AI
Да, в Go можно программно регулировать число одновременно выполняемых потоков операционной системы (процессов планировщика), которые используются для выполнения горутин. Для этого используется функция runtime.GOMAXPROCS(n), где n — желаемое число потоков.
По умолчанию GOMAXPROCS равен числу логических процессоров на машине, но его можно изменить во время выполнения программы, например:
import (
"fmt"
"runtime"
)
func main() {
fmt.Println("Default GOMAXPROCS:", runtime.GOMAXPROCS(0)) // получить текущее значение
runtime.GOMAXPROCS(4) // установить число потоков в 4
fmt.Println("Updated GOMAXPROCS:", runtime.GOMAXPROCS(0))
}
Это позволяет контролировать параллелизм и производительность приложения в зависимости от задач и ресурсов.