Memory model (source code)

= Memory model

Rules specifying which shared-data observations and operation orders are allowed. <Sequential consistency> is the model used in the two diagrams. A language <memory model> can permit weaker ordering and impose additional conditions on conflicting accesses. Correct use of an indivisible flag must therefore be checked against that <memory model>, including <happens-before> relationships for the data guarded by the flag.