H
Hosiki
Gast
hi,
ich hab hier diese Aufgabe
Mein Programm läuft soweit, nur nach ein paar Sekunden erreich ich den Deadlock - nun hab ich schon was gegrübel wie ich den den Deadlock vermeiden kann, bin aber auf keine Lösung gestoßen die nicht letzendlich vom Zufall abhängt.
Jemand ein Idee wie ich das geregelt krieg ohne das es Zufallsgesteurt ist?
ich hab hier diese Aufgabe
Modellieren Sie das Problem der speisenden Philosophen so, dass kein Deadlock
eintreten kann. Dass Problem besteht kurz darin, dass n Philosophen an einem kreisrunden
Tisch sitzen und Spaghetti essen wollen. Dass schafft ein Philosoph nur, wenn er über 2
Gabeln verfügt. Vor jedem Philosophen steht ein Teller mit Spaghetti, zwischen 2 Tellern
liegt jeweils eine Gabel. Es ist nicht schlimm, dass nicht alle Philosophen gleichzeitig essen
können, da Philosophen gerne denken und einfach warten bis die Nachbarn ihre Gabel nach
dem Essen wieder an die alte Stelle zurücklegen. Es gibt aber ein Problem, wenn alle
Philosophen gleichzeitig die rechts von ihnen liegende Gabel (oder alle die linke Gabel)
ergreifen. Dann entsteht ein Deadlock, weil kein Philosoph essen kann, da er nicht an die
zweite Gabel herankommt.
Mein Programm läuft soweit, nur nach ein paar Sekunden erreich ich den Deadlock - nun hab ich schon was gegrübel wie ich den den Deadlock vermeiden kann, bin aber auf keine Lösung gestoßen die nicht letzendlich vom Zufall abhängt.
Jemand ein Idee wie ich das geregelt krieg ohne das es Zufallsgesteurt ist?