第五篇:volatile,从JVM的层面解释并发 毛毛的学习笔记 2021-06-05 85 阅读1分钟 文章目录 一、前言 二、硬件层面解决缓存不一致的两种方法(总线上加lock锁+缓存一致性协议) 2.1 造成问题:缓存不一致 2.2 解决方式:总线锁 + 缓存一致性 2.2.1 总线锁,通过对总线加锁原子化这个 2.2.2 缓存一致性协议,通过缓存失效使其他CPU强制从主存中读取 三、并发编程中的三个概念 3.1 原子性 3.1.1 原子性定义 3.1.2 原子性举例 3.2 可见性 3.2.1 可见性定义 3.2.2 可见性举例 3.3 有序性 3.3.1 有序性定义 3.3.2 有序性举例(单线程下指令重排不会造成线程安全问题) 3.3.3 有序性举例(多线程下指令重排会造成线程安全问题)</