liveBook · Manning

Liveness

Liveness is a correctness property requiring that a system eventually makes specified progress or produces a desired event or condition.

How 2 Manning books explain it

Think Distributed Systems

A system guarantee that a specified good event or condition will eventually occur.

How it is used
Frames correctness as eventual progress alongside safety in distributed systems and failure-tolerant protocols.
How deep it goes
Defines eventual good events, formalizes transaction and consensus guarantees, and examines failure and asynchronous-model limits.
Examples
Uses alternating state transitions, two-participant commit-or-abort decisions, coordinator blocking, and consensus termination.
What you can do after
Evaluate/understand whether system behaviors eventually reach required states, decisions, or recovery outcomes under stated failures.

Read how Think Distributed Systems explains liveness →

Modern C, Third Edition

Liveness is the property that a concurrent program continues to make progress rather than becoming permanently blocked or stalled.

How it is used
Evaluates whether threaded programs continue advancing toward useful work or termination.
How deep it goes
Builds a proof sketch around advancing counters and repeated configurations, while deferring the full difficulty of larger programs.
Examples
Uses B9’s alternating update threads, bounded counters, repeated cell configurations, and circular mutex acquisition.
What you can do after
Evaluate/understand progress arguments by tracking state advancement and identifying possible indefinite repetition or waiting.

Read how Modern C, Third Edition explains liveness →

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.