并发编程学习历程(零)JMM内存模型

一、JMM的背景与定义

    计算机并不是仅靠计算就能处理任务,还需要靠内存读写,来存储计算变量和结果。但由于存储设备也有快慢之分,为了提高读写速度,加入一层尽可能接近CPU的高速缓存作为CPU与主内存之间的缓冲。
    为了充分利用计算机CPU的利用效率,通常让计算机并发执行多个计算任务,基于高速缓存访问引了了一个新的问题:缓存一致性。当多个处理器涉及同一块主内存区域时,为保证缓存一致性,各处理器访问各自缓存时需遵守一些协议(这类协议有MSI、M ESI、MOSI及Dragon Protocol等)。JAVA内存模型就是屏蔽不同的CPU架构的细节,抽象出处理器读写内存和高速缓存过程的协议。

三、先行发生原则(happens-before)



四、参考文献

     《深入理解Java虚拟机:JVM高级特性与 最佳实践》 周志明
    

猜你喜欢

转载自www.cnblogs.com/apescode/p/9329934.html