Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Concept

Dining Philosophers Problem

Foundational Concept

A classic illustrative problem in concurrent programming in which several philosophers seated around a table must share a limited number of forks to eat, used to illustrate how naive resource-sharing strategies can lead to deadlock or starvation and to compare solutions that avoid them.

Facts
Origin Year
1965 1
Core Principle
An example problem used in concurrent algorithm design to illustrate synchronization issues and techniques for resolving them. 1
Connections

In Field

Invented

Edsger W. Dijkstra formulated the dining philosophers problem in 1965 as a student exam exercise on resource contention.

Sources
1. Wikipedia: Dining philosophers problem
  • Lead, second paragraph
    originally formulated in 1965 by Edsger Dijkstra as a student exam exercise, presented in terms of computers competing for access to tape drive peripherals and then formulated in terms of diners
  • Lead, first sentence
    is an example problem often used in concurrent algorithm design to illustrate synchronization issues and techniques for resolving them.
View the Source
Frequently Asked Questions

Where did the dining philosophers problem come from?

Dijkstra set it in 1965 as an exam exercise about computers sharing tape drives.

It was originally formulated in 1965 by Edsger Dijkstra as a student exam exercise, presented in terms of computers competing for access to tape drive peripherals, and was later recast in terms of philosophers and forks. It is now an example problem often used in concurrent algorithm design to illustrate synchronization issues and techniques for resolving them.
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.