Vérification des processeurs utilisés par un programme Golang
Lors de l'exécution d'un programme Golang, il est crucial de comprendre le nombre de processeurs qu'il utilise. Cet article aborde ce problème en fournissant une explication complète et une solution de codage.
Runtime.GOMAXPROCS() contrôle le nombre maximum de processeurs logiques auxquels un programme Go peut accéder, tandis que Runtime.NumCPU() renvoie les processeurs logiques disponibles. . Cependant, le parallélisme maximum est limité par le minimum de ces deux valeurs.
Pour vérifier le nombre de processeurs utilisés, modifiez le code comme suit :
package main import ( "fmt" "runtime" "sync" ) var wg sync.WaitGroup func doTasks() { fmt.Println(" Doing task ") for ji := 1; ji < 100000000; ji++ { for io := 1; io < 10; io++ { // Some computations } } runtime.Gosched() wg.Done() } func main() { wg.Add(1) runtime.GOMAXPROCS(1) // or 2 or 4 go doTasks() doTasks() wg.Wait() fmt.Println("Maximum processors:", runtime.GOMAXPROCS(0)) fmt.Println("Available logical processors:", runtime.NumCPU()) fmt.Println("Maximum parallelism:", runtime.MaxParallelism()) }
Ce code amélioré ajoute des fonctionnalités pour afficher les valeurs Runtime.GOMAXPROCS(), Runtime.NumCPU() et Runtime.MaxParallelism(), offrant une vue claire de l'utilisation du processeur par le programme.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!