码迷,mamicode.com
首页 > 其他好文 > 详细

volatile随笔见解

时间:2018-07-26 13:09:34      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:内存数据   处理器   cpu   其他   缓存   操作   内存地址   sync   syn   

1、volatile可以保证可见性,不能保证一致性,但是与cas操作结合在实现并发上性能很不错,java并发包下不少类都有这种实现方式。

2、相比synchronized执行成本更低,因为它不会引起线程上下文的切换和调度。

3、volatile实现可见性原理:

声明为volatile后,编译成汇编指令时,增加lock指令,那么cpu对于lock前缀的指令会增加两项操作:将当前处理器缓存行的数据会回写到系统内存;这个回写操作会引起其他cpu缓存了内存地址到数据无效,重新读取系统内存数据。

 

volatile随笔见解

标签:内存数据   处理器   cpu   其他   缓存   操作   内存地址   sync   syn   

原文地址:https://www.cnblogs.com/bluej/p/9370769.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!