Doc
Appearance
volatile几乎是优秀团队必问的知识点,所以我这里给一个答题补充。
最常见的回答,是这样的:
求职者回答
volatile有三个作用:
读屏障,就是在读取volatile变量之前增加一条将变量内容从内存读入CPU缓存的指令;写屏障就是在volatile变量写入之后,将变量的值从CPU缓存写入内存。
指令重排是一种CPU策略,通过交换指令执行的顺序获得最佳性能。