Golang是否存在可见性问题?

王亚楼:

例如,如果我在一个goroutine中更新了一个全局变量,然后在另一个goroutine中读取了该变量,是否可以获得最新值?

另一个问题是,“ atomic.Load *”和“ atomic.Store *”能否确保可见性?

Burak Serdar:

如果goroutine之间没有显式同步,则无法保证您将看到共享变量的最新值。Go内存模型对此进行了描述:

https://golang.org/ref/mem

原子加载/存储有内存障碍,尽管Go内存模型没有明确声明,但它们确实保证您将看到最新值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章