挥发性关键字

Volatile keyword

本文关键字:关键字 挥发性      更新时间:2023-10-16

可能重复:
volatile关键字有什么用?

为什么在c++中使用volatile关键字?它的正确用途是什么?

根据的定义

volatile关键字是一个类型限定符,用于声明程序中的对象可以由操作系统、硬件或并发执行的线程等修改。

在一些例子中,它被贴花用于例如

volatile bool Isrunning;
Isrunning=true;

人们将其用于例如

if(Isrunning)
{
//some code here....
}

最后

Isrunning=false;

所以我的问题是它与bool Isrunning; 有何不同

提前谢谢。露点

唯一有效的用法是,如果您绝对需要确保变量的值永远不会保存在寄存器中,而是立即从内存中写入和读取。此外,禁止对读写进行重新排序。

这主要是内存映射硬件I/O所必需的。

请注意,C和C++中的volatile不强制执行多个线程的原子读/写语义。你对那个问题的定义是错误的。