加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – JMM中的因果关系要求

发布时间:2020-12-15 02:13:37 所属栏目:Java 来源:网络整理
导读:我试图了解JMM的因果关系要求. JMM的这一部分描述了 https://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.4.8 E在因果关系定义中意味着什么.这是否意味着执行我们试图证明或执行以证明从Ci到Ci 1的提交是正当的? 在因果关系定义的9条规
我试图了解JMM的因果关系要求. JMM的这一部分描述了 https://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.4.8

E在因果关系定义中意味着什么.这是否意味着执行我们试图证明或执行以证明从Ci到Ci 1的提交是正当的?

在因果关系定义的9条规则中,还有一个从A到动作的动作从Ci-1到Ci或Ci到Ci 1的动作.

解决方法

What does E means in the causality definition. Does it mean Execution we are trying to justify or the execution to justify the commit from Ci to Ci+1.?

E是您尝试确定的因果有效性的执行.

Ei是结构良好的执行,通过它可以在不引入总时间顺序概念的情况下处理因果关系.

Also in the 9 rules of causality definition are for adding an action from A to committed set of action from Ci-1 to Ci or from Ci to Ci+1.?

我不确定我是否理解你的问题.
我的回答尝试可能涉及重复你不感兴趣的东西,但请耐心等待.

如果可以根据第17.4.8节中的规则提交所有操作,则执行在Java内存模型的因果关系要求方面是有效的.

本节中的规则定义了可以通过建立规则集来提交的内容,该规则集用于从空集的已提交操作构建到最终执行的所有操作集.这是在离散的步骤中完成的,并且每个步骤的已提交操作都有一致性规则和不变量,以及它们与不同执行中上一步的已提交操作的关系(E vs Ei from above).

至于根据最后一条规则(第17.4.8节中第九编号的子弹)按照定义提交动作,每组Ci是Ci 1的适当子集,因此动作不是从Ci到Ci 1,而是从A到Ci .

我发现以下两个链接是清除JMM中因果关系的最佳资源:

> JMM Causality Test Cases
> Alexey Shipilev’s JMM Pragmatics talk

附:对于没有关于规范的这一部分的上下文的人来说,第17.4.8节的要点是弥合先前执行的一致执行与SC DRF(顺序一致,无数据竞争)执行之间的差距.这两者之间的差异就是所谓的凭空而言,即隐藏部分17.4.8不允许的,并且如果不加以控制则可能非常糟糕.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读