volatile
Volatile
volatile有三个作用:
- volatile变量读写时会增加内存屏障
- volatile变量读写时会禁用局部指令重排
- 保证对volatile的操作happens-before另一个操作
读屏障,就是在读取volatile变量之前增加一条将变量内容从内存读入CPU缓存的指令;写屏障就是在volatile变量写入之后,将变量的值从CPU缓存写入内存。
指令重排是一种CPU策略,通过交换指令执行的顺序获得最佳性能。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Alfred的小站!