hallo,
das ganze soll bewirken das nur eine bestimmte anzahl an threads auf einen bereich durchlaufen können alle müssen warten.
//Threads kommen
warum kann man für die while schleife nicht auch if setzen?
das notify setzt den nächsten thread in gang der am warten war oder?
[Edit by Beni: Verschoben, das hat nichts mit AWT oder Swing zu tun. Codetags ergänzt.]
Code:
public class Semafore {
int anzahl;
Semafore(int anzahl) {
this.anzahl = anzahl;
}
public synchronized void acquire() {
while (anzahl <= 0) {
System.out.println("3 threads in ausführung");
try {
this.wait();
} catch (InterruptedException e) {
}
}
anzahl--;
}
public synchronized void release() {
anzahl++;
this.notify();
}
das ganze soll bewirken das nur eine bestimmte anzahl an threads auf einen bereich durchlaufen können alle müssen warten.
//Threads kommen
Code:
workerA.semafore.acquire();
brerechnungen...
workerB.semafore.release();
warum kann man für die while schleife nicht auch if setzen?
das notify setzt den nächsten thread in gang der am warten war oder?
[Edit by Beni: Verschoben, das hat nichts mit AWT oder Swing zu tun. Codetags ergänzt.]