Volatile
对一个共享变量使用Volatile关键字保证了线程间对该数据的可见性,即不会读到脏数据。
注:
1. 可见性:对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入
2. 原子性:对任意单个volatile变量的读/写具有原子性(long,double这2个8字节的除外),但类似于volatile++这种复合操作不具有原子性。
3. volatile修饰的变量如果是对象或数组之类的,其含义是对象获数组的地址具有可见性,但是数组或对象内部的成员改变不具备可见性:
详见:http://blog.csdn.net/u014108122/article/details/38173201