16. 内存屏障

2018-12-11  本文已影响0人  TheMrBigHead
image.png

Java虚拟机底层实际上是借助内存屏障来实现刷新处理器缓存和冲刷处理器缓存这两个动作的。

内存屏障(Memory Barrier,也称Fence)是对一类针对内存读、写操作指令(Instruction)的跨处理器架构(比如x86、ARM)的比较底层的抽象(或者称呼)

内存屏障是被插入到两个指令之间进行使用的,其作用是禁止编译器、处理器重排序从而保障有序性的

为了实现禁止重排序的功能,这些指令也往往有一个副作用——刷新处理器缓存、冲刷处理器缓存,从而保障可见性

image.png image.png

内存屏障的类型划分

按照可见性保障划分
image.png
按照有序性保障划分
image.png image.png
上一篇 下一篇

猜你喜欢

热点阅读