Home » openjdk-7 » java » util » concurrent » locks » [javadoc | source]
java.util.concurrent.locks
public class: AbstractQueuedSynchronizer.ConditionObject [javadoc | source]
java.lang.Object
   java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject

All Implemented Interfaces:
    Condition, Serializable

Condition implementation for a AbstractQueuedSynchronizer serving as the basis of a 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:
 public ConditionObject() 
Method from java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject Summary:
await,   await,   awaitNanos,   awaitUninterruptibly,   awaitUntil,   getWaitQueueLength,   getWaitingThreads,   hasWaiters,   isOwnedBy,   signal,   signalAll
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject Detail:
 public final  void await() throws InterruptedException 
    Implements interruptible condition wait.
    1. If current thread is interrupted, throw InterruptedException.
    2. Save lock state returned by #getState .
    3. Invoke #release with saved state as argument, throwing IllegalMonitorStateException if it fails.
    4. Block until signalled or interrupted.
    5. Reacquire by invoking specialized version of #acquire with saved state as argument.
    6. If interrupted while blocked in step 4, throw InterruptedException.
 public final boolean await(long time,
    TimeUnit unit) throws InterruptedException 
    Implements timed condition wait.
    1. If current thread is interrupted, throw InterruptedException.
    2. Save lock state returned by #getState .
    3. Invoke #release with saved state as argument, throwing IllegalMonitorStateException if it fails.
    4. Block until signalled, interrupted, or timed out.
    5. Reacquire by invoking specialized version of #acquire with saved state as argument.
    6. If interrupted while blocked in step 4, throw InterruptedException.
    7. If timed out while blocked in step 4, return false, else true.
 public final long awaitNanos(long nanosTimeout) throws InterruptedException 
    Implements timed condition wait.
    1. If current thread is interrupted, throw InterruptedException.
    2. Save lock state returned by #getState .
    3. Invoke #release with saved state as argument, throwing IllegalMonitorStateException if it fails.
    4. Block until signalled, interrupted, or timed out.
    5. Reacquire by invoking specialized version of #acquire with saved state as argument.
    6. If interrupted while blocked in step 4, throw InterruptedException.
 public final  void awaitUninterruptibly() 
    Implements uninterruptible condition wait.
    1. Save lock state returned by #getState .
    2. Invoke #release with saved state as argument, throwing IllegalMonitorStateException if it fails.
    3. Block until signalled.
    4. Reacquire by invoking specialized version of #acquire with saved state as argument.
 public final boolean awaitUntil(Date deadline) throws InterruptedException 
    Implements absolute timed condition wait.
    1. If current thread is interrupted, throw InterruptedException.
    2. Save lock state returned by #getState .
    3. Invoke #release with saved state as argument, throwing IllegalMonitorStateException if it fails.
    4. Block until signalled, interrupted, or timed out.
    5. Reacquire by invoking specialized version of #acquire with saved state as argument.
    6. If interrupted while blocked in step 4, throw InterruptedException.
    7. If timed out while blocked in step 4, return false, else true.
 protected final int getWaitQueueLength() 
 protected final Collection<Thread> getWaitingThreads() 
 protected final boolean hasWaiters() 
 final boolean isOwnedBy(AbstractQueuedSynchronizer sync) 
    Returns true if this condition was created by the given synchronization object.
 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.
 public final  void signalAll() 
    Moves all threads from the wait queue for this condition to the wait queue for the owning lock.