Load Barrier 和 Store Barrier即读屏障和写屏障
内存屏障的作用:
- 禁止指令重排序
- 强制将写缓冲区和高速缓存中的数据写回系统内存,让缓存中的数据失效
- 对于Load Barrier来说,在指令前插入Load Barrier,可以让高速缓存中的数据失效,强制从新从主内存加载数据;
- 对于Store Barrier来说,在指令后插入Store Barrier,能让写入缓存中的最新数据更新写入主内存,让其他线程可见
java的内存屏障
-
LoadLoad屏障:对于这样的语句Load1; LoadLoad; Load2,在Load2及后续读取操作要读取的数据被访问前,保证Load1要读取的数据被读取完毕
-
StoreStore屏障:对于这样的语句Store1; StoreStore; Store2,在Store2及后续写入操作执行前,保证Store1的写入操作对其它处理器可见
-
LoadStore屏障:对于这样的语句Load1; LoadStore; Store2,在Store2及后续写入操作被刷出前,保证Load1要读取的数据被读取完毕
-
StoreLoad屏障:

最低0.47元/天 解锁文章
1109

被折叠的 条评论
为什么被折叠?



