uryida 2022-11-10 00:24 采纳率: 91.7%
浏览 9

请问一个goland中打印的问题

我在goland中写了一段这样的代码

package main

import (
    "fmt"
    "runtime"
    "time"
)

func a() {
    for i := 0; i < 10; i++ {
        fmt.Printf("a: %v\n", i)
    }
}

func b() {
    for i := 0; i < 10; i++ {
        fmt.Printf("b: %v\n", i)
    }
}

func main() {
    runtime.GOMAXPROCS(1) //最大可用核心数为1
    go a()
    go b()

    time.Sleep(time.Second)
    fmt.Printf("runtime.NumCPU(): %v\n", runtime.NumCPU())
    fmt.Printf("end...\n")
}

然而运行结果却是这样的

img


a()打印了两遍,而b()却没有被打印

当我在debug中执行以后,结果确实正常的

img

请问这是为什么啊?我的编译器是Goland 2022.2.1

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-11-10 02:09
    关注
    评论

报告相同问题?

问题事件

  • 创建了问题 11月10日