驗證 Golang 程式使用的處理器
執行 Golang 程式時,了解其使用的處理器數量至關重要。本文針對這個問題,提供了全面的解釋和編碼解決方案。
Runtime.GOMAXPROCS() 控制 Go 程式可以存取的最大邏輯處理器數量,而 Runtime.NumCPU() 則傳回可用的邏輯處理器。但是,最大並行度受到這兩個值中最小值的限制。
要驗證正在使用的處理器數量,請修改程式碼如下:
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中文網其他相關文章!