当前位置: 首页 > 面试题库 >

GOMAXPROCS的默认值是多少

柳晔
2023-03-14
问题内容

当未设置相同名称的环境变量时,是否可以确保将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,但我在这里寻找一些确认。


问题答案:

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

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

不,不能保证默认值是多少。即使所有已知的实现都使用值“
1”。如果您的代码在没有环境变量的情况下需要特定的默认值,则应在代码中进行设置。另外:

GOMAXPROCS设置可以同时执行的最大CPU数,并返回以前的设置。如果n
<1,则不会更改当前设置。可以使用NumCPU查询本地计算机上的逻辑CPU数量。 调度程序改进后,此呼叫将消失。

(强调我的)



 类似资料:
  • 问题内容: http://selenium.googlecode.com/svn/trunk/docs/api/dotnet/html/M_OpenQA_Selenium_Chrome_ChromeDriver__ctor_4.htm 有人知道chromedriver commandtimeout的默认值是什么吗?做了谷歌搜索,但找不到任何东西。 问题答案: 记住Selenium是开源的。 您可以

  • 我正在尝试设置一个字段的默认值(使用Java),但我遇到了一个令人讨厌的异常: 线程“main”org.apache.avro.avroTypeException中出现异常:字段First的默认值无效:“Andy”不是[“null”,“string”] 在org.apache.avro.schema.validateDefault(schema.java:1542) Apache Avro:Uni

  • 问题内容: 考虑一个名为的Java字符串字段。为类x创建对象时的初始值是多少? 我知道对于变量,在创建实例时将默认值分配为。但是会变成什么呢? 问题答案: 如果不执行任何操作,则将其初始化为null,所有引用类型也将初始化为null。

  • Kubernetes的pods(部署)活跃性和就绪性问题可以用这个初始延迟来配置----这意味着问题将在容器启动后的这多次发送之后开始。如果没有指定,默认值是多少?我好像找不到了。periodSeconds的默认值记录为10秒。 谢谢

  • 注:内容翻译自官网文档 Language Guide (proto3) 中的 Default Values 一节 当消息被解析时, 如果被编码的消息没有包含特定的简单元素, 被解析的对象对应的字段被设置为默认值. 默认值是和类型有关的: 对于strings, 默认值是空字符串(注, 是"", 而不是null) 对于bytes, 默认值是空字节(注, 应该是byte[0], 注意这里也不是null)

  • 问题内容: 由于对象的默认哈希值是该对象的对象地址,因此在32位计算机上,考虑哈希值是int值是有意义的。我的问题是在64位计算机上,地址应该是64位吗?那么32位int哈希值呢?是否会有一些下变频(从64位到32位)? 问题答案: 我的问题是64位JVM上对象的默认哈希值是多少?它仍然是对象地址值吗? 未指定“默认”值……或更具体地说,如何计算对象的“身份哈希码”。不在32位JVM或64位JVM