本文从简单入手,简单不代表肤浅,技术都是从简单发展起来的,然后变得复杂,甚至都偏离了初衷。有的人瞧不起简单,可不是什么好事啊。

简单来说内存屏障(Memory Barrier,或内存栅栏,Memory Fence)就是从本地或工作内存到主存之间的拷贝动作。如下图:

CPU.png

上面三种颜色的箭头,就是跨越内存栅栏。

在多线程并发过程中,仅当写操作线程先跨越内存栅栏而读线程后跨越内存栅栏的情况下,写操作线程所做的变更才对其他线程可见。