1. Design Criteria


<aside> 💡 Data-Race-Freedom, DRF

Untitled

A data race occurs when we have two concurrent conflicting operations

DRF programs have the same behaviors as in SC model

2. HMM


Happens-Befor Order

Declarative Semantic → 给定行为,判定是否满足约束

Program execution → a set of events, and some orders between them.

Untitled

po: program order; sw: synchronizes-with

Happens-before order (hb): transitive closure of $po \cup sw$

Happens-Before Memory Model, HMM

满足约束,就可以产生;不必构造执行流

Read can see (1) the most recent write that happens-before it, or (2) a write that has no happens-before relation.

Untitled

3. JMM