
一、结论先说结论,volatile能保证可见性和有序性,不能保证原子性。二、volatile的内存语义当写一个volati
博客园 2023-06-02 01:40:14
一、结论
先说结论,volatile能保证可见性和有序性,不能保证原子性。
二、volatile的内存语义
(资料图)
当写一个volatile变量时,会将变量值刷新回主内存
当读一个volatile变更时,会从主内存中读取最新值
三、内存屏障
是什么?
内存屏障是一类同步屏障指令,是cpu或编译器在对内存随机访问操作的一个同步点,使得该点之前的读写操作都执行后才开始执行此点的操作,避免代码重排序。
进一步说明,内存屏障就是一种jvm指令,java内存模型的重排规则要求java编译器在生成jvm指令时插入特定的内存屏障指令,volatile通过内存屏障指令保证了有序性和可见性。
内存屏障之前的写操作都刷新会主内存。
内存屏障之后的读操作都会获得内存屏障之前的所有写操作的最新结果。保证了可见性
重排序时,不允许把内存屏障之后的操作重排到内存屏障之前。
四、happens-before的volatile变量规则
当第一个操作为volatile读时,不论第二个操作是什么都不允许重排
当第二个操作为volatile写时,不论第一个操作是什么都不允许重排
当第一个操作为volatile写,第二个操作为volatile读时,不允许重排序
jmm会在每个volatile写前面插入一个StoreStrore屏障
jmm会在每个volatile写后面插入一个StoreLoad屏障
jmm会在每个volatile读后面插入一个LoadLoad和一个LoadStore屏障
一、结论先说结论,volatile能保证可见性和有序性,不能保证原子性。二、volatile的内存语义当写一个volati
农民日报·中国农网记者 张培奇 王澎 王帅杰 范亚旭自5月25日以来,河南省出现大范围持续阴雨天气,严
5月31日,重庆市永川区乐和乐都动物主题乐园的五胞胎孟加拉虎宝宝首次与游客见面。5只虎宝宝第一次离开笼舍
腹背剧痛可能是肾结石的症状!有医生分享病例指,一名26岁女子因为腹部及腰部疼痛向她求医,当她为患者检查
活动现场供图为进一步提升未成年人犯罪预防和自我防卫能力,引导未成年人尊法、学法、守法、用法,5月30日
热身赛-双方替补出战,U17国少0-1不敌中乙云南玉昆,中乙,亚少赛,云南玉昆
1、【解释】:销:通“消”,消失;匿:隐藏;迹:踪迹。2、指隐藏起来,不公开露面。3、【出自】:宋·孙
童“画”世界庆“六一”儿童画线上展祝愿所有孩子们拥有幸福美好的未来,愿你们的童年永远充满欢声笑语!作
添加糖是指额外添加的游离糖,例如蔗糖、白糖、果糖等,当然也包括含有这些糖的食品和饮料。关于添加糖网上
据悉,中信银行北京分行提前做好同业协同、客户沟通和内部衔接,积极推动政策落地;总分行各部门紧密配合,
2014年12月8日00:00:00—12月11日23:59:59腾讯移动游戏以低至2折的折扣强势加入。腾讯旗下最火爆的
2023年6月1日,郑州商品交易所(CZCE)菜粕期货主力RM2309合约,开盘2905元,最新2958元,跌38元,最高2964元
南昌红谷滩九龙湖2宗地挂牌,共297 856亩,起拍总价约21 48亿元,均计划于6月21日开拍。
期间,少林索道停止运营,其他区域正常开放,三皇寨区域具体开放时间以景区官方微信公众号为准
1、1 阿斯匹林:主要用于抑制前列腺素合成而解热、镇痛、抗炎、抗风湿,用于高热、感冒、头痛、肌肉痛等