volatile 声明符
volatile关键字是一个类型限定词,用于声明一个对象能够在程序中被非程序语句所修改,比如操作系统,硬件,或者并发运行的其他线程
下面的例子声明了一个volatile整形nVint,它的值可以被外部进程所修改:
int volatile nVint;
在优化过程中,不使用被声明为volatile的对象,因为它们的值随时都可能改变。系统总是在volatile对象的值被请求的时候读取当前的值,即使上一条指令请求的是同一个对象的值。同样,对对象进行赋值操作会立刻写入它的值。
volatile限定词的用法之一就是给异步进程提供内存的访问权限,比如中断操作。
msdn, volatile![isdox?i=aa51c6bc2cc8b87bd32e4a737b590d39](https://i-blog.csdnimg.cn/blog_migrate/46afbcd283d811cf8631d09d0931f36a.png)
![isdox?i=baeb6e36cd409ef097f6c0137c93bc03](https://i-blog.csdnimg.cn/blog_migrate/ec16edb3de0259e61a38e313c4284ba4.png)