Stuff
public text v1 · immutableint counter = 0;
Semaphore {cmutex,klappe1,klappe1Ready, klappe2,klappe2Ready}=1;
linke_FR() {
cmutex.p();
counter++;
cmutex.v();
klappe1.p();
linke_Klappe_öffnen();
klappe1Ready.p();
cmutex.p();
counter--;
cmutex.v();
}
rechte_FR() {
klappe2.p();
rechte_Klappe_öffnen();
klappe2Ready.p();
}
VpAutomat() {
while(true) {
cmutex.p();
if(counter > 0) {
klappe1.v();
verpacken();
klappe1Ready.v();
}
else {
klappe2.v();
verpacken();
klappe2Ready.v();
}
cmutex.v();
}
}