Concurrency and coordination
Section titled “Concurrency and coordination”This category owns language-neutral concurrency mechanisms and coordination decisions.
It covers shared-state invariants, ordering, synchronization, conflict detection, and coordination across independent workers or nodes.
Database entries own transaction, isolation, and persistence-specific concurrency behavior. Architecture entries own component and dependency boundaries. Problem entries own failure modes such as race conditions.
Entries (5)
Concurrent state transitions and lost updatesProtect state transitions when concurrent actors can read the same state and attempt incompatible updates.
Distributed coordination and coordination avoidanceDecide when independent nodes must coordinate to protect a shared invariant and when the design can remove that coordination requirement.
Locks, mutexes, and critical sectionsUse mutual exclusion to serialize access to shared state when concurrent execution would violate an invariant.
Optimistic concurrency and compare-and-setDetect stale concurrent updates with a version or expected value instead of preventing every conflict before work starts.
Ordering, happens-before, and visibilityReason about which concurrent actions are guaranteed to occur before others and when their state changes become observable.