什么是C ++原子变量?

时间:2017-01-11 18:10:43

标签: c++ synchronization std

以下是std :: atomic:http://en.cppreference.com/w/cpp/atomic/atomic

的文档

阅读其他问题我收集到的是它会生成某种特殊的机器指令(即锁定添加),因此您不必在变量周围使用互斥锁。

我想知道它是如何工作的以及使用它们的限制是什么?

1 个答案:

答案 0 :(得分:1)

这个话题真的可以填满一本书。很可能你没有以这种格式得到任何明确的答案。

查看Herb Sutters视频,这些是我在这个主题上看到的最清晰的讨论:

https://herbsutter.com/2013/02/11/atomic-weapons-the-c-memory-model-and-modern-hardware/

参见"第1部分和第34部分的链接;和"第2部分"。