根据我从 Herb Sutterothers 中读到的内容,您会认为 volatile 和并发编程是完全正交的概念,至少就 C/C++ 而言。

但是,在 GCC implementation 中,所有 std::atomic 的成员函数都具有 volatile 限定符。 Anthony Williams 的 implementation of std::atomic 也是如此。

那么怎么办,我的 atomic<> 变量是否需要为 volatile

最佳答案

为什么在整个 volatile 中使用 std::atomic 限定符?

这样 volatile 对象也可以是原子的。见 here :

相关报价是



我的 atomic<> 变量是否需要为 volatile

不,原子对象不必是可变的。

关于c++ - 为什么在整个 std::atomic 中使用 volatile 限定符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2479067/

10-16 19:10