Inhaltsverzeichnis:
- Definition - Was bedeutet Dining Philosophers Problem?
- Techopedia erklärt das Problem der Essensphilosophen
Definition - Was bedeutet Dining Philosophers Problem?
Das Problem des Essensphilosophen ist ein klassisches Beispiel in der Informatik, das häufig zur Veranschaulichung von Synchronisationsproblemen und Lösungen bei der gleichzeitigen Entwicklung von Algorithmen verwendet wird. Es zeigt die Herausforderungen der Vermeidung eines Systemzustands, in dem kein Fortschritt möglich ist, eines Deadlocks. Das Problem wurde 1965 von EW Dijkstra erstellt. Das Problem wird als Übung für eine Schülerprüfung vorgestellt und veranschaulicht eine Reihe von Computern, die um den Zugriff auf Bandlaufwerksperipheriegeräte konkurrieren. Die heute bekannte Formulierung war eine spätere Überarbeitung von Tony Hoare.
Techopedia erklärt das Problem der Essensphilosophen
Das Problem des Essensphilosophen ist ein Beispiel für einen Deadlock, einen Zustand, in dem mehrere Prozesse auf eine einzelne Ressource warten, die gerade von einem anderen Prozess verwendet wird, und die Lösungen für diese Arten von Problemen. Die gegenwärtige Formulierung des Problems mit den Philosophen wurde von Tony Hoare erstellt, aber das Problem wurde ursprünglich von Edsger Dijkstra im Jahr 1965 formuliert.
Tony Hoares Problemstellung handelt von fünf Philosophen, die alternativ essen und denken müssen. Alle fünf sitzen auf einem runden Tisch mit einem Teller Spaghetti und Gabeln, die nebeneinander zwischen Philosophen stehen. Eine Gabel kann immer nur von einem Philosophen benutzt werden. Zum Essen sind jedoch zwei Gabeln erforderlich - die linke und die rechte Gabel. Ein Philosoph kann eine vorhandene Gabel nehmen, darf aber nur essen, wenn der Philosoph sowohl seine linke als auch seine rechte Gabel hat. Es sollte beachtet werden, dass das Essen nicht durch die mögliche Menge an verbleibenden Spaghetti oder Magenraum begrenzt ist. Es wird angenommen, dass es ein unendliches Angebot an Spaghetti und Nachfrage gibt.
