获取goroutine数量
runtime包中的NumGoroutine函数可以获取当前程序中正在运行的goroutine数量,如下所示:
代码语言:javascript复制package main
import (
"fmt"
"runtime"
)
func main() {
num := runtime.NumGoroutine()
fmt.Println(num)
}
上面的代码输出为当前程序中正在运行的goroutine数量。
获取CPU数量
runtime包中的NumCPU函数可以获取当前计算机的CPU数量,如下所示:
代码语言:javascript复制package main
import (
"fmt"
"runtime"
)
func main() {
num := runtime.NumCPU()
fmt.Println(num)
}
上面的代码输出为当前计算机的CPU数量。
设置CPU数量
runtime包中的GOMAXPROCS函数可以设置程序中可用的CPU数量,如下所示:
代码语言:javascript复制package main
import (
"fmt"
"runtime"
)
func main() {
num := runtime.NumCPU()
fmt.Println("num of CPU:", num)
runtime.GOMAXPROCS(num)
}
上面的代码将程序中可用的CPU数量设置为当前计算机的CPU数量。