关于原子操作的疑惑

我对原子性的理解,要么不做,要么做完。

一个具备原子操作的变量atomic<int> gCounter;,现有两个对gCounter执行 write 操作的线程,如果这两个线程恰巧,同时地进行了 write 操作,这不会造成 data-race 么?

我知道肯定不会造成 data-race,但是我找了下网上的资料,没发现能推翻我上述观点的内容。我个人猜测,处理器在进行原子操作的时候,会加锁,当然这只是个人猜测。

希望有人解答下疑惑。

阅读 2.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题