liveBook · Manning

Modification order

Modification order is the total order of modifications to a particular atomic object, consistent with the sequenced-before order of each participating thread.

How 3 Manning books explain it

C++ Concurrency in Action, Second Edition

A per-object order of all writes to that object, including its initialization, on which all threads in a given execution must agree.

How it is used
Defines the per-object agreement used to reason about writes and atomic reads across threads.
How deep it goes
Explains initialization, thread agreement, read constraints, and the limit of per-object ordering; leaves cross-object guarantees to memory-order rules.
Examples
Contrasts relaxed atomic flag reads that can miss an earlier write with acquire-release flag reads that order it.
What you can do after
Diagnose/debug with it why atomic reads can disagree about operations on different objects without reversing either object's modification order.

Read how C++ Concurrency in Action, Second Edition explains modification order →

Modern C, Third Edition

Modification order is the total order of modifications to a particular atomic object that is consistent with each participating thread's sequenced-before order.

How it is used
Uses atomic objects to reason about cross-thread visibility, synchronization, and the ordering of competing writes.
How deep it goes
Defines per-object ordering and contrasts it with sequential consistency, but does not develop a full formal memory-model derivation.
Examples
Uses a shared atomic x initialized to 11, threaded increments, decrements, assignments, reads, and a synchronization diagram.
What you can do after
Evaluate/understand how atomic reads and writes can be ordered consistently and when stronger global ordering is required.

Read how Modern C, Third Edition explains modification order →

Modern C

Modification order is the single order of all modifications to a particular atomic object that is consistent with each participating thread's sequenced-before order.

How it is used
Explains how threads perceive changes to one atomic object and how atomic operations provide synchronization.
How deep it goes
Defines the per-object order, illustrates six modifications, and contrasts it with sequential consistency’s global order across atomic objects.
Examples
Uses atomic x with initialization to 11, two increments, three assignments, and cross-thread reads that establish synchronization.
What you can do after
Evaluate whether atomic operations require per-object ordering or sequentially consistent global ordering.

Read how Modern C explains modification order →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.