内部屏障

Posted misscai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内部屏障相关的知识,希望对你有一定的参考价值。

(一) 内部屏障范围

  内存屏障分为4中,每种屏障的效果

  Load : 从内存装载数据

  Store: 将数据写入内存

 

 技术图片

 

 

 (二) 内部屏障类型表

  

屏障类型 指令示例 说明
LoadLoad Barriers Load1;LoadLoad;Load2

确保Load1数据的装载先于Load2及

所有后续装载指令的状态

StoreStore Barriers Store1;StoreStore;Store2

确保Store1数据对其他处理器可见(刷新到内存)

先于Store2及所有后续存储指令的存储

LoadStore Barriers Load1;LoadStore;Store2

确保Load1数据装载先于Load2及

所有后续的存储指令刷新到内存

StoreLoad Barriers Store1;StoreLoad;Load2

确保Store1数据对其他处理器变得可见(指刷新到内存)先于Load2及所有后续装载指令的装载。

StoreLoad Barriers会使该屏障之前的所有内存访问指令(存储和装载指令)完成之后,才执行该屏障之后的内存访问指令

 

 

 


 

 

 

 

 

 

        爱如潮水

 

以上是关于内部屏障的主要内容,如果未能解决你的问题,请参考以下文章

CyclicBarrier如何使用?

ARM64中的内存屏障指令

nginx简介

JUC系列同步工具类之CyclicBarrier

深入源码分析Handler 消息机制 LooperMessageQueue 消息同步屏障IdleHandlerMessage 复用

CyclicBarrier源码分析