volatile底层内存屏障机制与并发特性详解.pdfVIP

  • 1
  • 0
  • 约3.45千字
  • 约 6页
  • 2026-10-09 发布于四川
  • 举报

volatile底层内存屏障机制与并发特性详解.pdf

知识图谱:内存模型-›原子性、可见性、有序性-›volatile+可见性-›volatile+有序性(指令重排+

happens-before)-›

volatile+原子性-›volatile底层原理(内存屏障机制)

volatile+原子性:无法保证原子性。虽然某些特殊情况下可能表现出原子性效果,但若有人刻意用场景案例

声称volatile具有原子性,例如Oracle中对64位long型数值的操作,volatile

确保原子性,synchronized,lock,加锁

volatile底层原理:如何实现可见性保障?如何实现有序性保障?

(1)锁指令:volatile

保证可见性

对volatile修饰的变量执行写操作时,JVM会向CPU

发送一条lock前缀指令。CPU计算完成后会立即将值写回主内

存,同时由于MESI缓存一致性协议,各CPU会通过总线检测本地缓存数据是否被修改

如果发现其他处理器修改了某个缓存的数据,那么CPU就会将自己本地缓存的数据标记为失效,随后在该CPU上执

行的线程该变量时,会从主内存重新加载数据。

锁定前缀指令+MESI缓存一致性协议

(2)内存屏障:volatile

文档评论(0)

1亿VIP精品文档

相关文档