java volatile理解


Volatile

对一个共享变量使用Volatile关键字保证了线程间对该数据的可见性,即不会读到脏数据。

注:

1. 可见性:对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入

        

2. 原子性:对任意单个volatile变量的读/写具有原子性(long,double这2个8字节的除外),但类似于volatile++这种复合操作不具有原子性。

        

3. volatile修饰的变量如果是对象或数组之类的,其含义是对象获数组的地址具有可见性,但是数组或对象内部的成员改变不具备可见性


详见:http://blog.csdn.net/u014108122/article/details/38173201

《Java Volatile(包含对volatile数组和对象的理解)》

你可能感兴趣的:(java)