volatile 是一个类型修饰符,用来修饰被不同线程访问和修改的变量。被volatile类型定义的变量,系统每次用到的时候都是直接从对应的内存中读取,而不会利用cache中原有数值,以适应它的未知何时会发生的变化,系统对这种变量的处理不会做优化。所以,volatile 一般用于多线程间被多个任务共享的变量和并行设备硬件寄存器等。