https://www.jianshu.com/p/638ac7c82110
1、volatile如何保证内存可见性
2、volatile如何禁止指令重排序
3、内存屏障
4、内存可见性
5、关于volatile的单例模式
一、内存可见性
1.1 缓存一致性问题
1、现代计算机系统在存储设备与处理器之间加了一层读写速度尽可能解决处理器运算速度的高速缓存来作为内存与处理器之间的缓冲: 将运算需要使用到的数据复制到缓存中, 让运算能快速进行, 当运算结束后再从缓存同步回内存之中, 这样处理器就无须等待缓慢的内存读写.
2、缓存一致性问题:
在多处理器系统中, 每个处理器都有自己的高速缓存, 而它们又共享同一主内存, 当多个处理器的运算任务都涉及到同一个块主内存区域时, 将可能导致各自的缓存数据不一致.
1.2 内存模型