## Uses of Interface
java.util.concurrent.locks.Lock

- Packages that use Lock
  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.

- - ### Uses of Lock in java.util.concurrent.locks

    Classes in java.util.concurrent.locks that implement Lock
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ReentrantLock` | A reentrant mutual exclusion `Lock` with the same basic behavior and semantics as the implicit monitor lock accessed using `synchronized` methods and statements, but with extended capabilities.
    `static class` | `ReentrantReadWriteLock.ReadLock` | The lock returned by method `ReadWriteLock.readLock()`.
    `static class` | `ReentrantReadWriteLock.WriteLock` | The lock returned by method `ReadWriteLock.writeLock()`.

    Methods in java.util.concurrent.locks that return Lock
    Modifier and Type | Method | Description
    --- | --- | ---
    `Lock` | StampedLock.`asReadLock()` | Returns a plain `Lock` view of this StampedLock in which the `lock()` method is mapped to `StampedLock.readLock()`, and similarly for other methods.
    `Lock` | StampedLock.`asWriteLock()` | Returns a plain `Lock` view of this StampedLock in which the `lock()` method is mapped to `StampedLock.writeLock()`, and similarly for other methods.
    `Lock` | ReadWriteLock.`readLock()` | Returns the lock used for reading.
    `Lock` | ReadWriteLock.`writeLock()` | Returns the lock used for writing.