java中的volatile关键字

java中的volatile关键字

 

一个变量被声明为volatile类型,表示这个变量可能随时被其他线程改变,所以不能把它cache到线程内存(如寄存器)中。

 

一般情况下volatile不能代替synchronized,因为volatile不能保证操作的原子性。

 

如果配合Java 5增加的atomic wrapper classes,对它们的increase之类的操作就不需要sychronized。 

 

Reference: 
http://www.javamex.com/tutorials/synchronization_volatile.shtml 
http://www.javamex.com/tutorials/synchronization_volatile_java_5.shtml 
http://www.ibm.com/developerworks/cn/java/j-jtp06197.html 

posted @ 2014-04-25 16:03  94julia  阅读(150)  评论(0编辑  收藏  举报