Het algoritme van Dekker.
Geplaatst: wo 15 apr 2015, 01:47
Ik heb wat problemen bij het interpreteren van het algoritme van Dekker.
Stel nu dat p0 de kritieke sectie binnen wilt en zijn vlagje hoog zet. p1 toont op dit moment nog geen interesse in de kritieke sectie. Waar mijn probleem zit is dat, stel dat tijdens de kritieke sectie p0 crasht, dan blijft de vlag van p0 hoog staan, en zal - naar mijn inzicht - p1 nooit de eerste while voorbij kunnen, en bijgevolg oneindig lang blijven pollen naar de status van het vlagje.
Code: Selecteer alles
entrance_intents[0] = true;
while (entrance_intents[1]) {
if (turn ≠ 0) {
entrance_intents[0] = false;
while (turn ≠ 0) {
// busy wait
}
entrance_intents[0] = true;
}
}
// critical section
...
turn = 1;
entrance_intents[0] = false;
// remainder section