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.

Field Summary

private int
acquiredCount
private Thread
holder

Constructor Summary

Lock()

Method Summary

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.

Field Details

acquiredCount

private int acquiredCount

holder

private Thread holder

Constructor Details

Lock

public Lock()

Method Details

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