volatile的一点理解

Posted 蒋旺93

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了volatile的一点理解相关的知识,希望对你有一定的参考价值。

对于volatile的理解,我想通过代码来表达。

 

 

public class VolatileExample {

private volatile long data;

 

public void setData(long newData){

data = newData;//对于volatile变量的写

}

 

public long getData(){

return data;//对于volatile变量的读

}

 

public void increseData(){

data++;//对于volatile变量的复合操作

}

}

 

等价于下面这个类:

public class VolatileExampleNew {

private volatile long data;

 

public synchronized void setData(long newData){

data = newData;//对于volatile变量的写

}

 

public synchronized long getData(){

return data;//对于volatile变量的读

}

 

public void increseData(){

long temp = getData();

temp+=1l;

setData(temp);

}

}

 

以上是关于volatile的一点理解的主要内容,如果未能解决你的问题,请参考以下文章

Java编程volatile和transient关键字的理解

转载Java并发编程:volatile关键字解析(写的非常好的一篇文章)

volatile

对Java单例模式 volatile关键字作用的理解

谈谈java中的volatile

static与volatile的用法