Klasse DebuggingSynchronizationManager<T>
java.lang.Object
de.bsvrz.ars.ars.mgmt.datatree.synchronization.DebuggingSynchronizationManager<T>
- Alle implementierten Schnittstellen:
SynchronizationManager<T>
Delegate auf einen SynchronizationManager, der bei langen Wartedauern Debug-Meldungen erzeugt.
-
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungErstellt einen neuen DebuggingSynchronizationManager -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungacquireWriteKey(T element) Fordert exklusiven Zugriff (Schreibzugriff) auf das angegebene Element an.acquireWriteKey(T element, Duration timeout) Fordert exklusiven Zugriff (Schreibzugriff) auf das angegebene Element an.getLocks()Gibt alle aktuell angeforderten Schlüssel zurück.toString()
-
Konstruktordetails
-
DebuggingSynchronizationManager
Erstellt einen neuen DebuggingSynchronizationManager- Parameter:
delegate- Delegate-Objekt (!= null)
-
-
Methodendetails
-
acquireWriteKey
Beschreibung aus Schnittstelle kopiert:SynchronizationManagerFordert exklusiven Zugriff (Schreibzugriff) auf das angegebene Element an. Ein Schreibzugriff darf nur angefordert werden, wenn dieser Thread noch keinen Lesezugriff besitzt. Ansonsten würde dies Deadlocks verursachen. Sollte dieser Thread bereits einen Schreibzugriff besitzen ist das jedoch kein Problem.- Angegeben von:
acquireWriteKeyin SchnittstelleSynchronizationManager<T>- Parameter:
element- Element- Gibt zurück:
- Schlüssel zum Zugriff auf das Element. Solange der Schlüssel gültig ist, garantiert diese Klasse, kann kein anderer Thread einen anderen Schlüssel auf dieses Element hält.
-
acquireWriteKey
@NotNull public SyncKey<T> acquireWriteKey(T element, Duration timeout) throws SynchronizationFailedException Beschreibung aus Schnittstelle kopiert:SynchronizationManagerFordert exklusiven Zugriff (Schreibzugriff) auf das angegebene Element an. Ein Schreibzugriff darf nur angefordert werden, wenn dieser Thread noch keinen Lesezugriff besitzt. Ansonsten würde dies Deadlocks verursachen. Sollte dieser Thread bereits einen Schreibzugriff besitzen ist das jedoch kein Problem.- Angegeben von:
acquireWriteKeyin SchnittstelleSynchronizationManager<T>- Parameter:
element- Elementtimeout- maximale Wartezeit zur synchronisierung- Gibt zurück:
- Schlüssel zum Zugriff auf das Element. Solange der Schlüssel gültig ist, garantiert diese Klasse, kann kein anderer Thread einen anderen Schlüssel auf dieses Element hält.
- Löst aus:
SynchronizationFailedException- Falls der Schlüssel nicht geholt werden konnte (z. B. timeout oder interrupted beim warten auf Schlüssel)
-
getLocks
Beschreibung aus Schnittstelle kopiert:SynchronizationManagerGibt alle aktuell angeforderten Schlüssel zurück. Diese Funktion existiert nur zum Debugging bzw. zur Fehleranalyse um z. B. bei Deadlocks den Zustand ausgeben zu können.- Angegeben von:
getLocksin SchnittstelleSynchronizationManager<T>- Gibt zurück:
- alle aktuell angeforderten Schlüssel
-
toString
-