特牛网址导航

java中指令重排、内存可见性_指令重拍可见性-CSDN博客

网友收藏
文章浏览阅读528次。由于现在多核计算机的发展,以及硬件性能的快速发展,CPU的运行速度也越来越快,而内存的速度与CPU的速度差了几个量级,基于成本和性能的考虑,现代计算机在CPU和内存之间都会增加一个缓存层,一般分为L1,L2,L3 cache。因此cpu在计算的时候首先会将数据从内存加载到缓存,然后通过读取缓存中的数据进行计算,当计算完之后,在一定时机写回到内存中去(并不是立马写回)。这样就会导致一个问题,在多线程环境下,多个线程都读取了一个数据,然后修改,这时候就发生了数据不一致问题。另外,在我们编写的代码编译完之后,_指令重拍可见性