zhao6810

第 8273 号会员 /

回复了 samete 创建的主题: 执行这段代码结果分析

代码改造:

func init() {
    fmt.Println("-", runtime.GOMAXPROCS(1))
    fmt.Println("--", runtime.NumCPU())
}
func main() {
    fmt.Println("---", runtime.GOMAXPROCS(-1))
    fmt.Println("----", runtime.NumCPU())
    var data int
    ch := make(chan bool)
    go func() { data++; ch <- true }()
    <-ch
    if data == 0 {
        fmt.Println("the value is 0.")
    } else {
        fmt.Printf("the value is %v.\n", data)
    }
}

输出结果

- 4
-- 4
--- 1
---- 4
the value is 1.