多线程中,volatile既然对于i++这种不能保证可见性(即不能保证原子操作),但是多线程不就是针对变量进行i++操作吗?既然volatile这种都不支持,volatile还有什么存在的意义?

多线程中,volatile既然对于i++这种不能保证可见性(即不能保证原子操作),但是多线程不就是针对变量进行i++操作吗?既然volatile这种都不支持,volatile还有什么存在的意义?

他使用场景是什么样的呢?

非i++场合即可。

如1)

int volatile a=0;

public add(int b,int c){

a=b+c;

}

这种情况就可以。

因为a的值,不依赖于a。


2)更好的一个例子是:Boolean类型,这个例子很好

https://blog.csdn.net/lzx_longyou/article/details/55101653



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ideality_hunter/article/details/80690630
博主设置当前文章不允许评论。

没有更多推荐了,返回首页

关闭
关闭
关闭