一:内存模型。
1.高速缓存cache
cpu从主存读写数据的速度远慢于cpu执行指令速度,故引入高速缓存,cpu执行指令后,将更新后的数据读写直接作用于多级缓存,缓存再与主存数据交换。
当多核cpu处理多线程任务时,可能会对同一组数据(共享变量,或者操作系统所说的,临界区内的临界资源)执行操作,此时多个cache可能存在缓存不一致问题。为了解决该问题,出现了“缓存一致性协议”,即每次cpu执行写操作时,若发现操作的是共享变量,则通知其他cpu该变量无效,当其他cpu对该数据操作时,必须从主存中获取该变量的最新副本。
java内存模型(java memory model,JMM)与java虚拟机内存模型(java virtual machine)
原文:https://www.cnblogs.com/wanghuanyeah/p/11773897.html