Uses of Interface java.util.concurrent.locks.Condition (Java SE 10 & JDK 10 )

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

- Packages that use Condition
  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 Condition in java.util.concurrent.locks

    Classes in java.util.concurrent.locks that implement Condition
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractQueuedLongSynchronizer.ConditionObject` | Condition implementation for a `AbstractQueuedLongSynchronizer` serving as the basis of a `Lock` implementation.
    `class` | `AbstractQueuedSynchronizer.ConditionObject` | Condition implementation for a `AbstractQueuedSynchronizer` serving as the basis of a `Lock` implementation.

    Methods in java.util.concurrent.locks that return Condition
    Modifier and Type | Method | Description
    --- | --- | ---
    `Condition` | Lock.`newCondition()` | Returns a new `Condition` instance that is bound to this `Lock` instance.
    `Condition` | ReentrantLock.`newCondition()` | Returns a `Condition` instance for use with this `Lock` instance.
    `Condition` | ReentrantReadWriteLock.ReadLock.`newCondition()` | Throws `UnsupportedOperationException` because `ReadLocks` do not support conditions.
    `Condition` | ReentrantReadWriteLock.WriteLock.`newCondition()` | Returns a `Condition` instance for use with this `Lock` instance.

    Methods in java.util.concurrent.locks with parameters of type Condition
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Collection<Thread>` | ReentrantLock.`getWaitingThreads​(Condition condition)` | Returns a collection containing those threads that may be waiting on the given condition associated with this lock.
    `protected Collection<Thread>` | ReentrantReadWriteLock.`getWaitingThreads​(Condition condition)` | Returns a collection containing those threads that may be waiting on the given condition associated with the write lock.
    `int` | ReentrantLock.`getWaitQueueLength​(Condition condition)` | Returns an estimate of the number of threads waiting on the given condition associated with this lock.
    `int` | ReentrantReadWriteLock.`getWaitQueueLength​(Condition condition)` | Returns an estimate of the number of threads waiting on the given condition associated with the write lock.
    `boolean` | ReentrantLock.`hasWaiters​(Condition condition)` | Queries whether any threads are waiting on the given condition associated with this lock.
    `boolean` | ReentrantReadWriteLock.`hasWaiters​(Condition condition)` | Queries whether any threads are waiting on the given condition associated with the write lock.