# Uses of Package
java.util.concurrent.locks

- Packages that use java.util.concurrent.locks
  Package | Description
  --- | ---
  java.util.concurrent.locks | Interfaces and classes providing a framework for locking and waiting for conditions that is distinct from built-in synchronization and monitors.

- Classes in java.util.concurrent.locks used by java.util.concurrent.locks
  Class | Description
  --- | ---
  AbstractOwnableSynchronizer | A synchronizer that may be exclusively owned by a thread.
  AbstractQueuedLongSynchronizer.ConditionObject | Condition implementation for a `AbstractQueuedLongSynchronizer` serving as the basis of a `Lock` implementation.
  AbstractQueuedSynchronizer.ConditionObject | Condition implementation for a `AbstractQueuedSynchronizer` serving as the basis of a `Lock` implementation.
  Condition | `Condition` factors out the `Object` monitor methods (`wait`, `notify` and `notifyAll`) into distinct objects to give the effect of having multiple wait-sets per object, by combining them with the use of arbitrary `Lock` implementations.
  Lock | `Lock` implementations provide more extensive locking operations than can be obtained using `synchronized` methods and statements.
  ReadWriteLock | A `ReadWriteLock` maintains a pair of associated `locks`, one for read-only operations and one for writing.
  ReentrantReadWriteLock | An implementation of `ReadWriteLock` supporting similar semantics to `ReentrantLock`.