java volatile

volatile实现原理:

1.如果变量加了volatile修饰,在写的时候,jvm会向cpu发送一个lock指令,表示需要将缓存数据写会到主存,同时lock指令会锁住这一块缓存,用缓存一致性来保证写回的原子操作。

2.如果变量加了volatile修饰,在读的时候,缓存回写到主存会导致其他处理器的缓存无效,这是通过控制协议来维护这种一致性的。

 

参考文章: http://www.infoq.com/cn/articles/ftf-java-volatile

 

posted on 2017-03-23 13:38  豆沙包没有肉  阅读(83)  评论(0编辑  收藏  举报

导航