This documentation differs from the official API.
Jadeite adds
extra features to the API including:
variable font sizes,
constructions examples,
placeholders for classes and methods, and auto-generated “See Also” links.
Additionally it
is missing some items found in standard Javadoc documentation, including:
generics type information,
“Deprecated” tags and comments,
“See Also” links,
along with other minor differences.
Please send any questions or feedback to
bam@cs.cmu.edu.
java.util.concurrent.locks
class AbstractQueuedSynchronizer.ConditionObject
java.lang.Object
java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject
- All Implemented Interfaces:
- Serializable, Condition
- Enclosing class:
- AbstractQueuedSynchronizer
public class AbstractQueuedSynchronizer.ConditionObject
extends Object
implements Condition, Serializable
Condition implementation for a {@link
AbstractQueuedSynchronizer} serving as the basis of a {@link
Lock} implementation.
Method documentation for this class describes mechanics,
not behavioral specifications from the point of view of Lock
and Condition users. Exported versions of this class will in
general need to be accompanied by documentation describing
condition semantics that rely on those of the associated
AbstractQueuedSynchronizer.
This class is Serializable, but all fields are transient,
so deserialized conditions have no waiters.
Constructor Summary |
Creates a new ConditionObject instance.
|
Method Summary |
void |
Implements interruptible condition wait.
|
boolean |
Implements timed condition wait.
|
long |
Implements timed condition wait.
|
void |
Implements uninterruptible condition wait.
|
boolean |
Implements absolute timed condition wait.
|
protected Collection |
Returns a collection containing those threads that may be
waiting on this Condition.
|
protected int |
Returns an estimate of the number of threads waiting on
this condition.
|
protected boolean |
Queries whether any threads are waiting on this condition.
|
void |
Moves the longest-waiting thread, if one exists, from the
wait queue for this condition to the wait queue for the
owning lock.
|
void |
Moves all threads from the wait queue for this condition to
the wait queue for the owning lock.
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractQueuedSynchronizer.ConditionObject
public AbstractQueuedSynchronizer.ConditionObject()
-
Creates a new ConditionObject instance.
await
public final void await()
throws InterruptedException
-
Implements interruptible condition wait.
- If current thread is interrupted, throw InterruptedException
- Save lock state returned by {@link #getState}
- Invoke {@link #release} with
saved state as argument, throwing
IllegalMonitorStateException if it fails.
- Block until signalled or interrupted
- Reacquire by invoking specialized version of
{@link #acquire} with saved state as argument.
- If interrupted while blocked in step 4, throw exception
- Throws:
InterruptedException
await
public final boolean await(long time,
TimeUnit unit)
throws InterruptedException
-
Implements timed condition wait.
- If current thread is interrupted, throw InterruptedException
- Save lock state returned by {@link #getState}
- Invoke {@link #release} with
saved state as argument, throwing
IllegalMonitorStateException if it fails.
- Block until signalled, interrupted, or timed out
- Reacquire by invoking specialized version of
{@link #acquire} with saved state as argument.
- If interrupted while blocked in step 4, throw InterruptedException
- If timed out while blocked in step 4, return false, else true
- Parameters:
time
unit
- Throws:
InterruptedException
awaitNanos
public final long awaitNanos(long nanosTimeout)
throws InterruptedException
-
Implements timed condition wait.
- If current thread is interrupted, throw InterruptedException
- Save lock state returned by {@link #getState}
- Invoke {@link #release} with
saved state as argument, throwing
IllegalMonitorStateException if it fails.
- Block until signalled, interrupted, or timed out
- Reacquire by invoking specialized version of
{@link #acquire} with saved state as argument.
- If interrupted while blocked in step 4, throw InterruptedException
- Parameters:
nanosTimeout
- Throws:
InterruptedException
awaitUninterruptibly
public final void awaitUninterruptibly()
-
Implements uninterruptible condition wait.
- Save lock state returned by {@link #getState}
- Invoke {@link #release} with
saved state as argument, throwing
IllegalMonitorStateException if it fails.
- Block until signalled
- Reacquire by invoking specialized version of
{@link #acquire} with saved state as argument.
awaitUntil
public final boolean awaitUntil(Date deadline)
throws InterruptedException
-
Implements absolute timed condition wait.
- If current thread is interrupted, throw InterruptedException
- Save lock state returned by {@link #getState}
- Invoke {@link #release} with
saved state as argument, throwing
IllegalMonitorStateException if it fails.
- Block until signalled, interrupted, or timed out
- Reacquire by invoking specialized version of
{@link #acquire} with saved state as argument.
- If interrupted while blocked in step 4, throw InterruptedException
- If timed out while blocked in step 4, return false, else true
- Parameters:
deadline
- Throws:
InterruptedException
getWaitingThreads
protected final Collection getWaitingThreads()
-
Returns a collection containing those threads that may be
waiting on this Condition.
Implements {@link AbstractQueuedSynchronizer#getWaitingThreads}.
- Returns:
- the collection of threads
getWaitQueueLength
protected final int getWaitQueueLength()
-
Returns an estimate of the number of threads waiting on
this condition.
Implements {@link AbstractQueuedSynchronizer#getWaitQueueLength}.
- Returns:
- the estimated number of waiting threads
hasWaiters
protected final boolean hasWaiters()
-
Queries whether any threads are waiting on this condition.
Implements {@link AbstractQueuedSynchronizer#hasWaiters}.
- Returns:
- {@code true} if there are any waiting threads
signal
public final void signal()
-
Moves the longest-waiting thread, if one exists, from the
wait queue for this condition to the wait queue for the
owning lock.
signalAll
public final void signalAll()
-
Moves all threads from the wait queue for this condition to
the wait queue for the owning lock.
This documentation differs from the official API.
Jadeite adds
extra features to the API including:
variable font sizes,
constructions examples,
placeholders for classes and methods, and auto-generated “See Also” links.
Additionally it
is missing some items found in standard Javadoc documentation, including:
generics type information,
“Deprecated” tags and comments,
“See Also” links,
along with other minor differences.
Please send any questions or feedback to
bam@cs.cmu.edu.
This page displays the
Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
The official Sun™ documentation can be found here at
http://java.sun.com/javase/6/docs/api/.