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

内存屏障和volatile内存语义的实现

时间:2017-11-26 16:00:47      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:nbsp   tor   指令   一个   周末   res   数据   store   语义   

趁周末,把以前的书拿出来,再翻一番,顺便做个笔记:

内存屏障:用来控制和规范cpu对内存操作的顺序的cpu指令。

内存屏障列表:

1.loadload:确保“前者数据装载”先于“后者装载指令”;

2.storestore:确保“前者数据”先于“后者数据”刷入系统内存,且,“前者刷入系统内存的数据”对“后者是可见的”;

3.loadstore:确保“前者装载数据”先于“后者刷新数据到系统内存”;

4.storeload:确保“前者刷入系统内存”的数据对“后者加载数据”是可见;

 

volatile的内存语义的(JVM)实现策略:

1.在每个volatile写操作前,会插入一个storeload屏障;

2.在每个volatile写操作后,会插入一个storeload屏障;

3.在每个volatile读操作后,会插入一个loadstore屏障和loadload屏障。

 

 

其上为java并发编程方向的理论基础知识。

内存屏障和volatile内存语义的实现

标签:nbsp   tor   指令   一个   周末   res   数据   store   语义   

原文地址:http://www.cnblogs.com/zqsky/p/7899057.html

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