为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕少森 2021-12-07 10:11:33
如果我有两个线程同时修改结构上的字符串字段,我是否总是会看到分配给该字段的一个或另一个字符串,但没有其他内容?
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

不。如果你需要原子操作,有sync/atomic.

转到内存模型将所有相关的细节。从内存模型文档的顶部:

修改多个 goroutine 同时访问的数据的程序必须序列化这种访问。

要序列化访问,请使用通道操作或其他同步原语(例如syncsync/atomic 包中的原语)保护数据。


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信