时间:2014.05.24
地点:基地
--------------------------------------------------------------------------
一、简述
volatile限定符平时很少用到,今天倒是碰到了,所幸探个明白。volatile 英文字面意思是“不稳定的”,确切的计算机含义时与机器相关,所以在对包含volatile的程序在移植到新机器或使用不同的编译器时往往还需要对编译器进行一些改变。
--------------------------------------------------------------------------
二、为什么要有volatile这么个怪物
某些应用程序需要直接操作硬件相关的数据,这些数据的值由程序直接控制之外的过程控制。即该数据的值是不受程序直接控制的,但程序又要用到它,比如由硬件系统时钟更新的定时器变量。当对象的值可能在程序的控制或检测之外被改变时我们应该将对象声明为volatile。告诉编译器该对象不该进行优化处理。