Go 是否支持 volatile / non-volatile 变量?

我是这门语言的新手,所以请耐心等待。

我很好奇 GO 如何处理线程可用的数据存储,因为非局部变量也可以是非易失性的,例如在 Java 中。

GO 有通道的概念,它本质上是线程间通信,意味着它绕过处理器缓存,直接读/写到堆。

此外,在 go lang 文档中没有找到任何对 volatile 的引用。


慕标琳琳
浏览 519回答 3
3回答

慕神8447489

在转到内存模型文档解释了为什么“挥发”的概念在围棋没有应用。松散:除此之外,goroutine 可以自由地将 goroutine 本地更改缓存在寄存器中,因此其他 goroutine 无法观察到这些更改。要将这些更改“刷新”到内存中,必须执行同步。通过使用锁或通信(通道发送或接收)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go