volatile原理

volatile的底层原理是内存屏障

  • 对volatile修饰的变量的写指令后会加入写屏障
  • 对volatile修饰的变量的读指令前会加入读屏障

1. volatile如何保证可见性

  • 写屏障保证在该屏障之前的写操作会同步到主内存
  • 读屏障保证在该屏障之后的所有读操作都从主内存取最新数据

2.volatile如何保证有序性

  • 写屏障会阻止之前的代码跑到屏障后面
  • 读屏障会阻止之后的代码跑到屏障之前
posted @ 2020-11-11 21:42  rudynan  阅读(95)  评论(0编辑  收藏  举报