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

被折叠的 条评论
为什么被折叠?



