golang 协程读写上下文变量 一直为 0
資深大佬 : xuletter2021 1
如代码 1:运行过程中无论 sleep 多久,输出都是 0
func main() { var x int go func() { for { x++ } }() time.Sleep(time.Duration(10) * time.Second) fmt.Println("**************") fmt.Println(x) fmt.Println("**************") }
如代码 2:在上面第六行加了点代码就输出就变了,一直不明白为什么
func main() { var x int go func() { for { x++ // select() // or // fmt.Println("ddd") } }() time.Sleep(time.Duration(1) * time.Second) fmt.Println("**************") fmt.Println(x) fmt.Println("**************") }
求大佬指点
大佬有話說 (24)