Frage zu Semaphore

Hi an alle

Vielleicht kann mir von euch jemand weiterhelfen ?

Die Aufgabe lautet dass man mit Hilfe von Semaphoren folgende Prozess Reihenfolge erzwingern soll: P1 – (P2 oder P3) – P1 – (P2 oder P3)…

Kann das mit folgender Loesung funktionieren ?

seminit (A, 1);
seminit (B. 0);

P1() {
while(true) {
P(A);
krit. Abschnitt;
V(B);
}
}

P2() {
while(true) {
P(B);
krit. Abschnitt;
V(A);
}
}

P3() {
while(true) {
P(B);
krit. Abschnitt;
V(A);
}
}

Eigentlich muesste das doch hinhauen, oder ?
Danke, schon mal fuer Antworten.
Gruss Claudia

PS: Sorry fuer das Doppelposting (bei Informatik steht’s nochmal), aber wir schreiben morgen Pruefung und mir ist gerade erst aufgefallen, dass ich so einen Fall noch gar nicht betrachtet habe :frowning:

Die Aufgabe lautet dass man mit Hilfe von Semaphoren folgende
Prozess Reihenfolge erzwingern soll: P1 – (P2 oder P3) – P1
– (P2 oder P3)…

Kann das mit folgender Loesung funktionieren ?

Hmm, wenn sonst keiner antwortet dann mach ich das einfach mal:
Deine Lösung ist absolut Richtig.

Viel Glück bei der Prüfung,
Daniel Raffler