Golang プログラムで使用されるプロセッサの確認
Golang プログラムを実行する場合、使用するプロセッサの数を理解することが重要です。この記事ではこの問題に対処し、包括的な説明とコーディング ソリューションを提供します。
Runtime.GOMAXPROCS() は Go プログラムがアクセスできる論理プロセッサの最大数を制御し、Runtime.NumCPU() は使用可能な論理プロセッサを返します。 。ただし、最大並列処理は、これら 2 つの値の最小値によって制限されます。
使用中のプロセッサの数を確認するには、コードを次のように変更します。
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()) }
この強化されたコードにより、機能が追加されます。 Runtime.GOMAXPROCS()、Runtime.NumCPU()、および Runtime.MaxParallelism() の値を表示し、プログラムのプロセッサを明確に表示します。使用法。
以上が私の Go プログラムは実際に何個のプロセッサを使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。