liveBook · Manning

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.

How 2 Manning books explain it

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.

Read how Latency explains wait-free progress condition →

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

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.