| Interface | Description |
|---|---|
| LockCountManager<L> |
A
LockCountManager provides the means to manage reentrant
locks based on objects by counting lock acquisitions. |
| LockNotification<T> |
This interface notifies about the state of
ReentrantLocks. |
| Class | Description |
|---|---|
| ConditionLatch |
This is similar to a normal
CountDownLatch but
it uses a wrapped lock for synchronising as well as a new corresponding
condition for signalling. |
| ObjectEqualityLockCount |
A
LockCountManager counting objects using
Object.equals(Object) and Object.hashCode(). |
| ObjectEqualityLockManager<O> |
Class with convenience methods for an
ObjectLockManager using
the current thread for locking and using object equality for the locked
objects. |
| ObjectLockManager<O,L> |
A manager for locking objects with reentrant locks whereas the locks are
itself object specific.
|
| OptimisticObjectLockManager<O,L> |
A manager for (optimistically) locking objects with reentrant locks whereas
the locks are itself object specific.
|
| OptimisticObjectLockManager.LockRemover<O,L> |
When unlocking an object for the last time (count is 0), this will remove
the corresponding locked object from the map containing all locked objects.
|
| PessimisticObjectLockManager<O,L> |
A manager for (pessimistically) locking objects with reentrant locks whereas
the locks are itself object specific.
|
| ReentrantLock<T> |
Represents a reentrant read/write lock or exclusive lock based on objects
instead of threads, for instance for locking based on objects.
|
| ThreadLock |
This class provides a reentrant read/write-lock based on threads.
|
| UUIDLock |
This class provides a reentrant read/write-lock based on UUIDs.
|
| Exception | Description |
|---|---|
| AcquireLockException |
An
AcquireLockException indicates that a lock of a specific
type on an object can not be acquired since the object is already locked by
another locking object (and possibly with another type of lock). |
| ReleaseLockException |
An
ReleaseLockException indicates that the lock on an object
can not be released since the releasing object does not have the lock. |