Wait-free progress condition
Wait-free is a progress guarantee under which every operation completes in a bounded number of steps, regardless of other threads' activity.
Latency
A wait-free data structure is a concurrent data structure whose every operation completes in a finite number of steps regardless of other threads' operations.
- How it is used
- Provides a per-operation progress guarantee for latency-sensitive shared data without depending on a lock holder.
- How deep it goes
- Defines progress variants and develops a bounded SPSC queue with atomic ordering, while identifying linked-list allocation and reclamation difficulties.
- Examples
- Uses a wait-free hash-map lookup, linked-list insertion and deletion, and a benchmarked bounded SPSC queue.
- What you can do after
- Build it from scratch as a bounded Rust SPSC queue using atomic indexes and acquire/release ordering.
C++ Concurrency in Action, Second Edition
Wait-free describes a progress guarantee in which every thread completes its operation in a bounded number of steps, regardless of other threads’ activity.
- How it is used
- Classifies concurrent data structures by whether each thread is guaranteed to complete an operation despite other threads’ activity.
- How deep it goes
- Defines bounded per-thread progress, contrasts related guarantees, and identifies a lock-free example without showing a wait-free implementation.
- Examples
- Uses a C++ lock-free stack whose push() and pop() compare-and-exchange loops may retry indefinitely.
- What you can do after
- Evaluate whether a progress guarantee protects every thread or only guarantees that some thread completes.
Read how C++ Concurrency in Action, Second Edition explains wait-free progress condition →
Related concepts
- lockless techniquecontrasts with · Lock-free is a concurrency progress property that guarantees some operation completes within a finite number of steps despite contention, without relying on mutual-exclusion locks.
- spsc bounded queueincludes · An SPSC bounded queue is a fixed-capacity FIFO data structure with exactly one producer and one consumer.
- atomicityuses · Atomicity is the property that an operation or group of operations takes effect as an indivisible, all-or-nothing unit, without observable partial effects.
- memory barrieruses · A memory barrier is a synchronization operation that constrains the ordering or visibility of memory accesses across concurrent execution.
- wait-free synchronizationimplemented by · A concurrency technique in which every operation completes in a bounded number of steps, regardless of the actions or delays of other threads.
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.

