Java – causality requirements in JMM

I try to understand JMM's causality requirements This part of JMM describes https://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls -17.4. eight

What does e mean in the definition of causality Does this mean that we are trying to justify or enforce the submission from Ci to CI 1?

Among the nine rules of causality definition, there is also an action from a to action, and an action from Ci-1 to CI or CI to CI 1

Solution

E is the execution of the causal validity you are trying to determine

EI is a well structured execution, which can deal with causality without introducing the concept of total chronological order

I'm not sure if I understand your question My attempt to answer may involve repeating something you are not interested in, but please be patient

If possible, in accordance with Clause 17.4 If the rules in Section 8 commit all operations, the execution is valid in terms of the causality requirements of the JAVA memory model

The rules in this section define the content that can be submitted by establishing a rule set, which is used to build all operation sets from the submitted operation of an empty set to the final execution This is done in discrete steps, and the submitted operations of each step have consistency rules and invariants, as well as their relationship with the submitted operations of the previous step in different execution (e vs EI from above)

As for submitting actions according to the definition according to the last rule (bullets numbered 9 in section 17.4.8), each group of Ci is the appropriate subset of CI 1, so the actions are not from Ci to CI 1, but from a to CI

I found that the following two links are the best resources to clear causality in JMM:

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

Attachment: for those who do not have the context of this part of the specification, section 17.4 The key point of section 8 is to bridge the gap between the previously executed consistent execution and SC DRF (consistent order, no data competition) The difference between the two is called out of thin air, that is, the hidden part 17.4 8 not allowed and can be very bad if not controlled

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>