我在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")
}
然而运行结果却是这样的
a()打印了两遍,而b()却没有被打印
当我在debug中执行以后,结果确实正常的
请问这是为什么啊?我的编译器是Goland 2022.2.1