CPU缓存一致性协议与java中的volatile关键字时间:2023-03-10 02:56:10 有关缓存一致性协议MESI自行百度。 提出问题:volatile在缓存一致性协议上又做了哪些事情?为啥它不保证原子性? 在缓存一致性协议下,CPU为了执行效率使用了写(存储)缓存和失效队列从而导致对用户来说指令的乱序执行 而volatile加入了内存屏障指令,每次对共享内存的写都会立即刷新存储缓存到主内存中,而每次对共享内存的读 都会先处理失效队列,从主内存中读取最新的值,所以保证了内存的可见性。而无法保证原子性。