Sobes.tech
Junior — Middle

Peut-on réguler programmatiquement le nombre de processus lancés dans l'environnement d'exécution de Go?

sobes.tech IA

Réponse de l'IA

Да, в 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))
}

Это позволяет контролировать параллелизм и производительность приложения в зависимости от задач и ресурсов.