volatile关键字原子性和可见性

Posted

tags:

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

1.volatile关键字

理解volatile的关键首先要理解处理器缓存和主存。

如果将一个域声明为volatile,那么只要对这个域产生了写操作,那么所有读操作都可以看到这个修改,即volatile域的写操作会向主存刷新。

同步synchronized也会导致向主存中刷新,所以如果一个域完全由synchronized保护就不必设置为volatile。

2.原子性和可见性

可见性:

原子性:

 

以上是关于volatile关键字原子性和可见性的主要内容,如果未能解决你的问题,请参考以下文章

voliate怎么保证可见性

原子性内存可见性和重排序——重新认识synchronized和volatile

volatile变量

java并发系列-----Java并发:volatile关键字解析

volatile关键字作用

4个点说清楚Java中synchronized和volatile的区别