18 The Dining Philosophers Problem

Das Problem of the Dining Philosophers ist im Bereich der nebenläufigen Programmierung ein sehr bekanntes Scheduling-Problem, das erstmals von Edgser Dijkstra [11] formuliert wurde. Dabei muss sich eine Menge von Akteuren eine beschränkte Anzahl von exklusiven Ressourcen teilen. Ziel ist die Entwicklung eines Verfahrens für eine konfliktfreie Zuteilung.

Zur Veranschaulichung des Problems kann man n Philosophen betrachten, die alle um einen Tisch sitzen. Vor jedem steht ein Teller und jeweils rechts und links davon liegt eine Gabel. Es gibt Spaghetti, sodass immer zwei Gabeln zum Essen benötigt werden (vgl. Abb. 18-1).

Abbildung 18-1: Ein Esstisch für acht Philosophen

Jeder Philosoph möchte nun abwechselnd essen ...

Get Nebenläufige Programmierung mit Java now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.