volatile 类型变量提供什么保证?

volatile 变量提供顺序和可见性保证例如,JVM 或者 JIT 为了获得更好的性能 

会对语句重排序但是 volatile 类型变量即使在没有同步块的情况下赋值也不会 

与其他语句重排序。 volatile 提供 happens-before 的保证确保一个线程的 

修改能对其他线程是可见的某些情况下,volatile 还能提供原子性如读 64  

数据类型 long  double 都不是原子的 volatile 类型的 double  

long 就是原子的

posted @ 2020-07-13 12:56  咔啡  阅读(267)  评论(0编辑  收藏  举报