Volatile的两大作用
Volatile是如何保证内存可见性的?
CPU多级缓存
CPU的运行速度非常快,而对磁盘的读写IO速度却很慢,为了解决这个问题,有了内存的诞生;
而CPU的速度与内存的读写速度之比仍然有着
100 : 1
的差距,为了解决这个问题,CPU又在内存与CPU之间建立了多级别缓存:寄存器、L1、L2、L3三级缓存。
CPU缓存一个最小单位是64Byte:经过工业实践得出,缓存64Byte是一个较为合适的单位大小,不会因为缓存过大,而使得读取速度降低,也不会因为缓存过少,而多次去读取数据。
当核心1
与核心2
在操作同一缓存行中的不同元素时,即使是操作的不同元素不会相互造成影响,但是,同一缓存行数据若被修改,则会通过缓存一致性协议来使其他CPU与核