go中的变量赋值是原子的吗?

如果我有两个线程同时修改结构上的字符串字段,我是否总是会看到分配给该字段的一个或另一个字符串,但没有其他内容?


慕少森
浏览 141回答 1
1回答

慕的地8271018

不。如果你需要原子操作,有sync/atomic.在转到内存模型将所有相关的细节。从内存模型文档的顶部:修改多个 goroutine 同时访问的数据的程序必须序列化这种访问。要序列化访问,请使用通道操作或其他同步原语(例如sync和sync/atomic 包中的原语)保护数据。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go