Sobes.tech
Junior — Middle

Est-il possible de contrôler la répartition des cœurs du processeur pour l'exécution des goroutines?

sobes.tech IA

Réponse de l'IA

En Go, vous pouvez contrôler le nombre de threads du système d'exploitation utilisés pour exécuter des goroutines en utilisant la fonction runtime.GOMAXPROCS(n). Cette fonction définit le nombre maximum de threads pouvant exécuter du code Go simultanément.

Cependant, il n'est pas possible d'attacher directement des goroutines spécifiques à des cœurs de processeur particuliers — cela est géré par le planificateur de Go et le système d'exploitation.

Exemple de réglage du nombre de threads :

package main

import (
    "fmt"
    "runtime"
)

func main() {
    // Définir l'utilisation de 4 cœurs
    runtime.GOMAXPROCS(4)
    fmt.Println("Nombre maximum de threads :", runtime.GOMAXPROCS(0))
}

Ainsi, vous pouvez limiter ou augmenter le parallélisme, mais la répartition précise sur les cœurs ne peut pas être contrôlée.