Uses of Interface java.util.concurrent.locks.Condition (Java Platform SE 8 )
Date: 2026-04-17

## 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 and 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 and Description
    --- | ---
    `Condition` | ReentrantLock.`newCondition()` Returns a `Condition` instance for use with this `Lock` instance.
    `Condition` | Lock.`newCondition()` Returns a new `Condition` instance that is bound to 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 and 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.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.