Diskussion:Dekker-Algorithmus
Beispiel nicht vollständig
[Quelltext bearbeiten]-> Prozess #0 bekommt den Prozessor: Rücksprung zu Marke P0, flag0 = true -> Prozess #1 bekommt den Prozessor: Eintritt in den kritischen Abschnitt, da flag0 nicht gesetzt
Ich hoffe dass ich nicht irre, aber Prozess #1 durchläuft ebenfalls die Schleife und zwar solange, bis Prozess #0 in seiner Schleife flag0 = false setzt. Erst dann kann Prozess #1 den kritischen Abschnitt betreten. Insofern ist das Beispiel nicht falsch, jedoch fehlt zwischen den aufgeführten Zeilen etwas.
-- $ubZero 06:32, 4. Jun. 2007 (CEST)
Statt C lieber Pseudocode
[Quelltext bearbeiten]Erstmal muss ich feststellen, dass Boolean-Variablen in C nicht standardmäßig vorhanden sind. Ich zweifle auch an der Nützlichkeit von C-Code in diesem Beispiel, besonders da dieser Abschnitt (wahrscheinlich) von der Amerikanischen Seite genommen wurde, in welcher das Ganze sowieso in Pseudocode steht. Ich schlage daher vor den Code durch den Amerikanischen Pseudocode zu ersetzen und nochmals einzudeutschen.
Unrefined 23:46, 12. Dez. 2008 (CET)
- Kann man machen aber ich frage mich ob sich das lohnen würde? Immerhin sollte das Beispiel in seiner jetzigen Form für die meisten Leser direkt verständlich sein. Lustigerweise ist es ja nicht ganz standardkonformer C Code (wegen "boolean") aber wäre eigentlich gültiger Java-Code. Man könnte eventuell auch einfach das Syntax-Highlighting auf Java umstellen? (Edit: Man müsste in Java bei den Variablen im ersten Listing zusätzlich den "volatile"-Modifier ergänzen.) --Evotopid (Diskussion) 13:39, 14. Aug. 2016 (CEST)
Keine Lösung des wechselseitigen Ausschlusses
[Quelltext bearbeiten]Laut der Vorlesung Betriebssysteme von Prof. Dr. Claudia Linnhoff-Popien http://www.mobile.ifi.uni-muenchen.de/studium_lehre/verg_semester/ws0910/betriebssysteme/bsscript120202010.pdf -> 7.3.1 Softwarelösungen für den wechselseitigen Ausschluß. Ist der Algorithmus von Decker keine Lösung des Problems des wechselseitigen Ausschlusses. Begründung: "Terminiert ein Prozess im unkritischen Bereich, so kann auch der andere höchstens noch einmal den kritischen Bereich betreten und ist dann blockiert. (Verstoß gegen die Progress-Eigenschaft)" (nicht signierter Beitrag von 138.246.2.117 (Diskussion) 11:39, 7. Okt. 2010 (CEST))
- Vielleicht liegt das Problem dabei, ob man beim Problem des wechselseitigen Auschlusses externes Beenden von Prozessen erlaubt oder ausschließt. Wenn man es erlaubt denke ich dass es tatsächlich ein Problem ist, aber wenn man dies ausschließt, was offensichtlich bisher implizit getan wurde, ist dies kein Problem – da unmöglich. --Evotopid (Diskussion) 13:36, 14. Aug. 2016 (CEST)