Volatile是如何保证线程可见的?详解 volatile 主内存 工作内存 jmm 缓存一致性 总线
Volatile是如何保证线程可见的?摘要本文以volatile最常见的2个问题为线索,基于汇编lock前缀指令和cpu原子操作等底层知识,初步对volatile的底层原理进行描述。通过本文的论述,基本上能够解释以下2个问题:1)为什么volatile能够保证线程可见性?2)为什么volatile不能实现操作原子性?研究思路首先分析jmm内存模型,结合cpu的8个原子操作然后介绍CPU的缓存一致性协议最后结合jmm和缓存一致性协议,解释为什么volatile可以保证线程可见基本概念首先对后文







