|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.sys.funclib.concurrent.Semaphore
public class Semaphore
Diese Klasse implementiert ein Semaphor, das zur Synchronisation von Threads verwendet werden kann.
Field Summary | |
---|---|
private int |
_permits
Diese Variable gibt an, wie oft eine Sperre geholt werden darf (wie oft ein kritischer Abschnitt betreten werden kann). |
private int |
_upperBoundPermit
Wie viele Threads dürfen maximal in den kritischen Abschnitt. |
Constructor Summary | |
---|---|
Semaphore(int permits)
Einen Semaphor erzeugen, der permit viele acquire Zugriffe zuläßt, bis er jeden
weiteren Thread, der acquire aufruft, mit wait "schlafen" legt. |
Method Summary | |
---|---|
void |
acquire()
Eine Sperre des Semaphores anfordern, sind keine Sperren mehr zu vergeben, dann wird der Thread mit wait() angehalten. |
void |
release()
Eine Sperre des Semaphores freigeben, dies befreit andere Threads, die auf eine Sperre warten. |
void |
setUpperBoundPermit(int upperBoundPermit)
Diese Methode setzt die Anzahl der Sperren neu. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private int _permits
acquire
auszuführen.
private int _upperBoundPermit
release
erhöht werden kann. Diese Variable kann mit set-Methode erhöht werden.
Constructor Detail |
---|
public Semaphore(int permits)
permit
viele acquire
Zugriffe zuläßt, bis er jeden
weiteren Thread, der acquire
aufruft, mit wait "schlafen" legt.
permits
- Wie viele Threads dürfen in den kritischen AbschnittMethod Detail |
---|
public void acquire()
public void release()
public void setUpperBoundPermit(int upperBoundPermit)
upperBoundPermit
- Neue Obergrenze, soviele Sperren stehen nun zur Verfügung
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |