# Package org.eclipse.rdf4j.common.concurrent.locks

Package offering various locking scheme implementations. Common locking functionality (java.util.concurrent.locks, Jakarta Commons Transaction) associate locks with threads. The lock managers in this package use explicit lock objects that do not have this association.

- Interface Summary
  Interface | Description
  --- | ---
  Lock | A lock on a specific monitor that can be used for synchronization purposes.
  Lock.ExtendedSupplier<T extends Lock> | Extension of the Lock.Supplier interface to support tryLock().
  Lock.Supplier<T extends Lock> | Functional interface for supplying a lock with support for InterruptedException.
  ReadWriteLockManager | A lock manager that manages a multi-read, single-write lock.

- Class Summary
  Class | Description
  --- | ---
  AbstractReadWriteLockManager | An abstract base implementation of a read/write-lock manager.
  ExclusiveLockManager | A simple non-reentrant lock.
  Lock.ExtendedSupplier.Wrapper<T extends Lock> |
  LockingIteration<E,​X extends Exception> | An Iteration that holds on to a lock until the Iteration is closed.
  LockManager | Manages a set of non-exclusive locks.
  Properties | Class controlling various logging properties such as the amount of lock tracking that is done for debugging (at the cost of performance).
  ReadPrefReadWriteLockManager | A read/write lock manager with reader preference.
  StampedLockManager | A read/write-lock manager backed by a StampedLock.
  StampedLockManager.Cache<T> |
  StampedLockManager.OptimisticReadLock |
  WritePrefReadWriteLockManager | A read/write lock manager with writer preference.