📜  Golang中当前进程使用了多少个逻辑处理器?

📅  最后修改于: 2021-10-24 13:22:51             🧑  作者: Mango

任务是找到进程在给定时间可以运行的逻辑 CPU数量。下面是几个例子。

方法一:使用N umCPU函数

NumCPU返回当前进程可用的逻辑 CPU 数。

句法:

func NumCPU() int

例子 :

Go
// Golang program to find the 
// number of logical processors
// used by current process
  
package main
  
import (
    "fmt"
    "runtime"
)
  
// Main function
func main() {
      
    // Using the NumCPU function
    fmt.Println(runtime.NumCPU())
}


Go
// Golang program to find the 
// number of logical processors
// used by current process
  
package main
  
import (
    "fmt"
    "runtime"
)
  
// Main function
func main() {
      
    // Using the GOMAXPROCS function
    fmt.Println(runtime.GOMAXPROCS(0))
}


输出:

8

方法二:使用GOMAXPROCS函数

GOMAXPROCS设置可以同时执行的最大 CPU 数量并返回之前的设置。

句法:

func GOMAXPROCS(n int) int

例子 :

// Golang program to find the 
// number of logical processors
// used by current process
  
package main
  
import (
    "fmt"
    "runtime"
)
  
// Main function
func main() {
      
    // Using the GOMAXPROCS function
    fmt.Println(runtime.GOMAXPROCS(0))
}

输出:

8