Golang cpu的使用设置--GOMAXPROCS
发布时间:2020-12-16 19:17:53 所属栏目:大数据 来源:网络整理
导读:以下测试,使用的Go版本是1.8.3 不设置 如果没有调用runtime.GOMAXPROCS 去设置CPU,Golang默认使用所有的cpu核。 测试机器CPU有4个核,测试代码开启4个goroutine,从测试结果看4个核心全部跑满。 测试代码如下: package main func main() { go task() go t
以下测试,使用的Go版本是1.8.3 不设置如果没有调用runtime.GOMAXPROCS 去设置CPU,Golang默认使用所有的cpu核。 测试机器CPU有4个核,测试代码开启4个goroutine,从测试结果看4个核心全部跑满。 测试代码如下: package main
func main() {
go task()
go task()
go task()
go task()
select{}
}
func task(){
for {
}
}
设置CPU使用func GOMAXPROCS(n int) int
设置并发执行时使用的CPU的数目 例如,设置只使用1个核心 runtime.GOMAXPROCS(1)
设置只使用2个核心 runtime.GOMAXPROCS(2)
测试代码如下,只设置一个核心: package main
import (
"runtime"
)
func main() {
runtime.GOMAXPROCS(1)
go task()
go task()
go task()
go task()
select{}
}
func task(){
for {
}
}
有时候,我们常用到:
func NumCPU() int
NumCPU returns the number of logical CPUs usable by the current process.
函数返回当前进程可用的逻辑CPU数目 目前测试下来,使用这个设置CPU,效果和不调用GOMAXPROCS效果一样,就是使用所有的CPU核心数。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |