The GOMAXPROCS variable limits the number of operating system threads that can execute user-level Go code simultaneously. There is no limit to the number of threads that can be blocked in system calls on behalf of Go code; those do not count against the GOMAXPROCS limit.

可以使用环境变量 GOMAXPROCSruntime.GOMAXPROCS(num int) 设置,例如:

runtime.GOMAXPROCS(1) // 限制同时执行Go代码的操作系统线程数为 1

从官方文档的解释可以看到,GOMAXPROCS 限制的是同时执行用户态 Go 代码的操作系统线程的数量,但是对于被系统调用阻塞的线程数量是没有限制的。GOMAXPROCS 的默认值等于 CPU 的逻辑核数,同一时间,一个核只能绑定一个线程,然后运行被调度的协程。因此对于 CPU 密集型的任务,若该值过大,例如设置为 CPU 逻辑核数的 2 倍,会增加线程切换的开销,降低性能。对于 I/O 密集型应用,适当地调大该值,可以提高 I/O 吞吐率。


关于收费
微薄收入,仅用于维持服务器。本站模型区全部免费
关于VIP
VIP可以免费下载。月度、年度vip每天可免费下载9次,应该够用。终身vip每天可下载19次,右侧成为vip
注意,请不要重复点击某个资源的下载按钮,每次点击都会计入次数
资源失效处理
1、如果是蓝奏云,将下载链接中的lanzous换成lanzoux即可
2、如果是百度云失效了,那请点右侧发邮件给客服,或者在评论区指出,也可在菜单栏【有问必答】说明
3、如果是其他原因,请右侧按钮发邮件给我

发表评论