gpt4 book ai didi

runtime - GOMAXPROCS 默认值是多少?

转载 作者:IT老高 更新时间:2023-10-28 13:00:17 25 4
gpt4 key购买 nike

不设置同名环境变量时,是否保证GOMAXPROCS设置为1?

此代码显示值:

package main

import (
"runtime"
"fmt"
)

func getGOMAXPROCS() int {
return runtime.GOMAXPROCS(0)
}

func main() {
fmt.Printf("GOMAXPROCS is %d\n", getGOMAXPROCS())
}

并像这样运行它:

$ GOMAXPROCS= go run max.go 
GOMAXPROCS is 1

在这种情况下显示它是 1,但我在这里寻找一些确认。

最佳答案

2018 年更新:默认情况下,Go 程序运行时将 GOMAXPROCS 设置为可用内核数;在以前的版本中,它默认为 1。

从 Go 1.5 开始,默认值为核心数。如果您在较新的 Go 版本中对此不满意,您只需要显式设置它。


不,不能保证默认值是什么;即使所有已知的实现都使用值“1”。如果您的代码在没有环境变量的情况下需要特定的默认值,那么您应该在代码中设置它。 Additionally :

GOMAXPROCS sets the maximum number of CPUs that can be executing simultaneously and returns the previous setting. If n < 1, it does not change the current setting. The number of logical CPUs on the local machine can be queried with NumCPU. This call will go away when the scheduler improves.

(强调我的)

关于runtime - GOMAXPROCS 默认值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17853831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com