内存栅栏

内存栅栏(Memory Barrier)就是从本地或工作内存主存之间的拷贝动作

必须保证 写操作线程先跨越内存栅栏,读线程后跨越内存栅栏,这样写操作线程所做的变更才对其他线程可见。synchronized和volatile都强制规定了所有的变更必须全局可见,该特性有助于跨越内存边界动作的发生。

在程序运行过程中,所有的变更会先在寄存器或本地cache中完成,然后才会被拷贝到主存以跨越内存栅栏。这种跨越序列或顺序称为happens-before。

写操作必须要happens-before读操作。

猜你喜欢

转载自blog.csdn.net/javahelpyou/article/details/105173288