KANG's BLOG

Let's have some fun

volatile关键字详解

作用 一个被volatile声明的变量主要有以下两种特性保证保证线程安全 可见性 将当前处理器缓存行的数据会写回到系统内存。 这个写回内存的操作会引起在其他CPU里缓存了该内存地址的数据无效 有序性 虚拟机在进行代码编译优化的时候,对于那些改变顺序之后不会对最终变量的值造成影响的代码,volatile可防止编译器将他们进行重排序。 int a = 10; int b = 5; 原理 被volatile关键字修饰的变量会存在一个"lock:“的前缀