自C++ 11以来,并发编程中volatile的有用性

Lin*_*gxi 4 c++ concurrency volatile c++11

我读过这个这个答案.我还搜索了C++ Concurrency in Action一书,但没有找到任何关于volatile使用它的例子的讨论.看起来它根本不是为并发而设计的.那么对于并发编程,只使用原子,互斥等就足够了,忘了volatile吗?volatile并发问题可能需要的任何情况?

bla*_*rom 6

不,在C++中,volatile关键字告诉编译器不能以任何形式或形式优化变量.这在处理可以从您自己的代码外部更改的内存时非常有用,例如自定义板上的硬件寄存器.
有关易失性的更深入的指导,您应该阅读Volatile vs. volatile By Herb Sutter