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
Core PrincipleAn 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 SourceFrequently 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.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.