最佳答案
根据我从 Herb Sutter和 其他人读到的内容,你可能会认为 volatile
和并发编程是完全正交的概念,至少就 C/C + + 而言是这样。
然而,在 GCC实施中,所有 std::atomic
的成员函数都有 volatile
限定符。安东尼 · 威廉姆斯(Anthony Williams)的 实施 of std::atomic
也是如此。
那么,我的 atomic<>
变量需不需要是 volatile
呢?