【java】volital关键字为什么无法保证原子性和保证单条指令的可见性和原子性 我个人总结理解的三方面影响: 简单举例说明,就不用看下面详细解释了: i=0; A,B2个线程各i++ 50000次 1.线程A 读到i=0时,A阻塞,B也读到i=0,进行i++ 写到主存,此时i=1,A继续执行进行i++,i=1写回主存。 2.MESI协议中,AB线程同时进行修改i,此时裁决机制进行裁决设缓存A为M状态,缓存B为I状态,那么B线程修改无效,并且浪费一次,A进行i++把i=1写回主存。 分别执行三次,每次结果各不相同: 输出最后结果:9387...