1.在开始多线程之前,我们先来聊聊计算机的缓存
计算机处理一个程序需要cpu处理器与存储设备的交互。但是在计算机发展的过程中,cpu处理器的处理速度不断提高,而存储设备的读写速度却没有得到与cpu同样速度的发展。为了解决这个问题,我们在处理器与存储设备之间加了一层缓存,基本上解决了cpu与存储设备速度的差别。现在的计算机缓存大体上分为三级,L1级缓存,L2级缓存,L3级缓存,其中L1,L2级缓存属于每个cpu独享,L3级缓存属于多个cpu共享。但是这也引发了一个问题,就是对于共享数据操作的一致性问题。为了解决这个问题,在cpu与缓存之间,我们制定了缓存一致性协议,最常见的就是MESI协议。
关于MESI协议的介绍
2.理解JMM(java内存模型)
通过比较计算机多处理器的缓存理解
原文:https://www.cnblogs.com/code-star/p/10704255.html