猿问
go中的变量赋值是原子的吗?
如果我有两个线程同时修改结构上的字符串字段,我是否总是会看到分配给该字段的一个或另一个字符串,但没有其他内容?
慕少森
浏览 141
回答 1
1回答
慕的地8271018
不。如果你需要原子操作,有sync/atomic.在转到内存模型将所有相关的细节。从内存模型文档的顶部:修改多个 goroutine 同时访问的数据的程序必须序列化这种访问。要序列化访问,请使用通道操作或其他同步原语(例如sync和sync/atomic 包中的原语)保护数据。
0
0
0
随时随地看视频
慕课网APP
相关分类
Go
我要回答