volatile 类型变量提供什么保证?
Posted programb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了volatile 类型变量提供什么保证?相关的知识,希望对你有一定的参考价值。
volatile 变量提供顺序和可见性保证,例如,JVM 或者 JIT 为了获得更好的性能
会对语句重排序,但是 volatile 类型变量即使在没有同步块的情况下赋值也不会
与其他语句重排序。 volatile 提供 happens-before 的保证,确保一个线程的
修改能对其他线程是可见的。某些情况下,volatile 还能提供原子性,如读 64 位
数据类型,像 long 和 double 都不是原子的,但 volatile 类型的 double 和
long 就是原子的。
!--polaris>以上是关于volatile 类型变量提供什么保证?的主要内容,如果未能解决你的问题,请参考以下文章