package main import ( "fmt" "runtime" "sync" "time" ) var lock sync.RWMutex var i = 0 func main() { runtime.GOMAXPROCS(2) go func() { for { fmt.Println("i am here", i) time.Sleep(time.Second) } }() for { i += 1 } } 结果始终是 0, 考虑 cpu cache 一致性的话, 过一段时间就会看到变量发生了变化啊?
