Glossary · Term

Dining Philosophers

← all terms

Definition

Plain language

A classic puzzle about people sharing forks around a table that shows how shared resources can freeze a system up.

As stated in the literature

Dijkstra's canonical concurrency problem in which philosophers competing for shared forks can deadlock; a standard verification benchmark, where the textbook fix is consistent alphabetical lock ordering.

Also called: Dining Philosophers problem

Why it matters: It's a standard test for whether a coordination scheme avoids freezing, with the well-known fix of always grabbing shared resources in a fixed order.

For example, five philosophers each grab the fork on their left and then wait forever for the one on their right, so nobody ever eats.

Heard on the show

“… The benchmark includes the Dining Philosophers problem — Dijkstra's nineteen-seventy-one chestnut, and in the hard variant here, seven philosophers …”
Episode 034 — Catching Multi-Agent Deadlocks Before Deployment With a 40-Year-Old Tool

Mentioned in 1 episode

  1. 034
    Catching Multi-Agent Deadlocks Before Deployment With a 40-Year-Old Tool

Related terms