volatile实现原理:
1.如果变量加了volatile修饰,在写的时候,jvm会向cpu发送一个lock指令,表示需要将缓存数据写会到主存,同时lock指令会锁住这一块缓存,用缓存一致性来保证写回的原子操作。
2.如果变量加了volatile修饰,在读的时候,缓存回写到主存会导致其他处理器的缓存无效,这是通过控制协议来维护这种一致性的。
volatile实现原理:
1.如果变量加了volatile修饰,在写的时候,jvm会向cpu发送一个lock指令,表示需要将缓存数据写会到主存,同时lock指令会锁住这一块缓存,用缓存一致性来保证写回的原子操作。
2.如果变量加了volatile修饰,在读的时候,缓存回写到主存会导致其他处理器的缓存无效,这是通过控制协议来维护这种一致性的。