Class Lock
public class Lock
extends java.lang.Object
Ein Lock ist eine Erweiterung zu den bereits bestehenden Thread-Synchronisationsmechanismen.
Es wird dann benötigt, wenn mehrere Threads Funktionen innerhalb einer Java Klasse ausfuehren
sollen, eine komplette Synchronisation mittels "synchronized" die potentielle Parallelität zu
stark einschränken würde.
void | acquire() - Bei einem Aufruf von acquire() blockt der aufrufende Thread, wenn er nicht der Halter des
Locks ist, bis der Halter durch einen Aufruf von release() das Lock wieder freigibt.
|
void | release() - release() gibt das durch ein vorangegangenes acquire() bekommene Lock wieder frei.
|
acquiredCount
private int acquiredCount
holder
private Thread holder
acquire
public final void acquire()
Bei einem Aufruf von acquire() blockt der aufrufende Thread, wenn er nicht der Halter des
Locks ist, bis der Halter durch einen Aufruf von release() das Lock wieder freigibt.
Der Halter des Locks blockt nicht bei einem erneuten Aufruf von acquire(), muß dann aber
ein weiteres release() tätigen bevor das Lock freigegeben wird.
release
public final void release()
release() gibt das durch ein vorangegangenes acquire() bekommene Lock wieder frei. Nur der
holder des Locks kann es freigeben