volatile

来源:互联网 发布:安卓去广告软件 编辑:程序博客网 时间:2024/06/08 11:02
  volatile的作用是: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。简单地说就是防止编译器对代码进行优化.
  一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心
地重新读取这个变量的值,而不是使用保存在寄存器里的备份。

典型应用:
多线程编程while循环中。
volatile unsigned int    m_exit; 
while(!m_exit)
{
if(m_exitFlag)
break;//跳出while循环
if(m_dictRejector.is_empty())
{
Sleep(10);
continue;
}
}
原创粉丝点击