| java.lang.Object | 
    
    
    
        
            |    ↳ | 
         	
        java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject | 
    
    
Class Overview
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.
 
Summary
| Public Methods | 
    
        | 
            
            
            final
            
            
            boolean
         | 
        
        
        await(long time, TimeUnit unit)
        
         Implements timed condition wait. 
  
   | 
    
        | 
            
            
            final
            
            
            void
         | 
        
        
        await()
        
         Implements interruptible condition wait. 
  
   | 
    
        | 
            
            
            final
            
            
            long
         | 
        
        
        awaitNanos(long nanosTimeout)
        
         Implements timed condition wait. 
  
   | 
    
        | 
            
            
            final
            
            
            void
         | 
        
        
        awaitUninterruptibly()
        
         Implements uninterruptible condition wait. 
  
   | 
    
        | 
            
            
            final
            
            
            boolean
         | 
        
        
        awaitUntil(Date deadline)
        
         Implements absolute timed condition wait. 
  
   | 
    
        | 
            
            
            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. 
  
   | 
    
        | 
            
            
            final
            
            
            void
         | 
        
        
        signalAll()
        
         Moves all threads from the wait queue for this condition to
 the wait queue for the owning lock. 
  
   | 
| Protected Methods | 
    
        | 
            
            
            final
            
            
            int
         | 
        
        
        getWaitQueueLength()
        
         Returns an estimate of the number of threads waiting on
 this condition. 
  
   | 
    
        | 
            
            
            final
            
            
            Collection<Thread>
         | 
        
        
        getWaitingThreads()
        
         Returns a collection containing those threads that may be
 waiting on this Condition. 
  
   | 
    
        | 
            
            
            final
            
            
            boolean
         | 
        
        
        hasWaiters()
        
         Queries whether any threads are waiting on this condition. 
  
   | 
| 
  [Expand]
   Inherited Methods  | 
   
From class java.lang.Object
  
   
  
    
    
    
        | 
            
            
            
            
            
            Object
         | 
        
        
        clone()
        
         Creates and returns a copy of this Object. 
  
   |  
    
        | 
            
            
            
            
            
            boolean
         | 
        
        
        equals(Object o)
        
         Compares this instance with the specified object and indicates if they
 are equal. 
  
   |  
    
        | 
            
            
            
            
            
            void
         | 
        
        
        finalize()
        
         Is called before the object's memory is being reclaimed by the VM. 
  
   |  
    
        | 
            
            
            final
            
            
            Class<? extends Object>
         | 
        
        
        getClass()
        
        Returns the unique instance of  Class which represents this
 object's class.  
  
   |  
    
        | 
            
            
            
            
            
            int
         | 
        
        
        hashCode()
        
         Returns an integer hash code for this object. 
  
   |  
    
        | 
            
            
            final
            
            
            void
         | 
        
        
        notify()
        
         Causes a thread which is waiting on this object's monitor (by means of
 calling one of the wait() methods) to be woken up. 
  
   |  
    
        | 
            
            
            final
            
            
            void
         | 
        
        
        notifyAll()
        
         Causes all threads which are waiting on this object's monitor (by means
 of calling one of the wait() methods) to be woken up. 
  
   |  
    
        | 
            
            
            
            
            
            String
         | 
        
        
        toString()
        
         Returns a string containing a concise, human-readable description of this
 object. 
  
   |  
    
        | 
            
            
            final
            
            
            void
         | 
        
        
        wait(long millis, int nanos)
        
         Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
 specified timeout expires. 
  
   |  
    
        | 
            
            
            final
            
            
            void
         | 
        
        
        wait(long millis)
        
         Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
 specified timeout expires. 
  
   |  
    
        | 
            
            
            final
            
            
            void
         | 
        
        
        wait()
        
         Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object. 
  
   |  
 
   
 
 | 
   
From interface java.util.concurrent.locks.Condition
  
   
  
    
    
    
        | 
            abstract
            
            
            
            
            boolean
         | 
        
        
        await(long time, TimeUnit unit)
        
         Causes the current thread to wait until it is signalled or interrupted,
 or the specified waiting time elapses. 
  
   |  
    
        | 
            abstract
            
            
            
            
            void
         | 
        
        
        await()
        
        Causes the current thread to wait until it is signalled or 
  interrupted.  
  
   |  
    
        | 
            abstract
            
            
            
            
            long
         | 
        
        
        awaitNanos(long nanosTimeout)
        
         Causes the current thread to wait until it is signalled or interrupted,
 or the specified waiting time elapses. 
  
   |  
    
        | 
            abstract
            
            
            
            
            void
         | 
        
        
        awaitUninterruptibly()
        
         Causes the current thread to wait until it is signalled. 
  
   |  
    
        | 
            abstract
            
            
            
            
            boolean
         | 
        
        
        awaitUntil(Date deadline)
        
         Causes the current thread to wait until it is signalled or interrupted,
 or the specified deadline elapses. 
  
   |  
    
        | 
            abstract
            
            
            
            
            void
         | 
        
        
        signal()
        
         Wakes up one waiting thread. 
  
   |  
    
        | 
            abstract
            
            
            
            
            void
         | 
        
        
        signalAll()
        
         Wakes up all waiting threads. 
  
   |  
 
   
 
 | 
 
Public Constructors
 
    
      
        public 
         
         
         
         
        
      
      AbstractQueuedSynchronizer.ConditionObject
      ()
    
    
  Creates a new ConditionObject instance.
 
 
 
Public Methods
 
    
      
        public 
         
        final 
         
         
        boolean
      
      await
      (long time, TimeUnit unit)
    
    
  Implements timed condition wait. 
 
 -  If current thread is interrupted, throw InterruptedException
 
 -  Save lock state returned by getState() 
 
 -  Invoke release(int) with 
      saved state as argument, throwing 
      IllegalMonitorStateException  if it fails.
 
 -  Block until signalled, interrupted, or timed out
 
 -  Reacquire by invoking specialized version of
      acquire(int) 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
           | the maximum time to wait | 
        
        
          | unit
           | the time unit of the time argument. | 
        
      
   
  
      Returns
      - false if the waiting time detectably elapsed
 before return from the method, else true.
 
   
  
      Throws
        
        
            | InterruptedException
             | if the current thread is interrupted (and
 interruption of thread suspension is supported).
 | 
        
      
   
 
 
 
    
      
        public 
         
        final 
         
         
        void
      
      await
      ()
    
    
  Implements interruptible condition wait.
 
 -  If current thread is interrupted, throw InterruptedException
 
 -  Save lock state returned by getState() 
 
 -  Invoke release(int) with 
      saved state as argument, throwing 
      IllegalMonitorStateException  if it fails.
 
 -  Block until signalled or interrupted
 
 -  Reacquire by invoking specialized version of
      acquire(int) with saved state as argument.
 
 -  If interrupted while blocked in step 4, throw exception
 
 
 
  
      Throws
        
        
            | InterruptedException
             | if the current thread is interrupted (and
 interruption of thread suspension is supported).
 | 
        
      
   
 
 
 
    
      
        public 
         
        final 
         
         
        long
      
      awaitNanos
      (long nanosTimeout)
    
    
  Implements timed condition wait.
 
 -  If current thread is interrupted, throw InterruptedException
 
 -  Save lock state returned by getState() 
 
 -  Invoke release(int) with 
      saved state as argument, throwing 
      IllegalMonitorStateException  if it fails.
 
 -  Block until signalled, interrupted, or timed out
 
 -  Reacquire by invoking specialized version of
      acquire(int) with saved state as argument.
 
 -  If interrupted while blocked in step 4, throw InterruptedException
 
 
 
  
      Parameters
      
        
          | nanosTimeout
           | the maximum time to wait, in nanoseconds | 
        
      
   
  
      Returns
      - A value less than or equal to zero if the wait has
 timed out; otherwise an estimate, that
 is strictly less than the nanosTimeout argument,
 of the time still remaining when this method returned.
 
   
  
      Throws
        
        
            | InterruptedException
             | if the current thread is interrupted (and
 interruption of thread suspension is supported).
 | 
        
      
   
 
 
 
    
      
        public 
         
        final 
         
         
        void
      
      awaitUninterruptibly
      ()
    
    
  Implements uninterruptible condition wait.
 
 -  Save lock state returned by getState() 
 
 -  Invoke release(int) with 
      saved state as argument, throwing 
      IllegalMonitorStateException  if it fails.
 
 -  Block until signalled
 
 -  Reacquire by invoking specialized version of
      acquire(int) with saved state as argument.
 
 
 
 
 
 
    
      
        public 
         
        final 
         
         
        boolean
      
      awaitUntil
      (Date deadline)
    
    
  Implements absolute timed condition wait.
 
 -  If current thread is interrupted, throw InterruptedException
 
 -  Save lock state returned by getState() 
 
 -  Invoke release(int) with 
      saved state as argument, throwing 
      IllegalMonitorStateException  if it fails.
 
 -  Block until signalled, interrupted, or timed out
 
 -  Reacquire by invoking specialized version of
      acquire(int) 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
           | the absolute time to wait until | 
        
      
   
  
      Returns
      - false if the deadline has
 elapsed upon return, else true.
 
   
  
      Throws
        
        
            | InterruptedException
             | if the current thread is interrupted (and
 interruption of thread suspension is supported).
 | 
        
      
   
 
 
 
    
      
        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.
 
  
 
 
Protected Methods
 
    
      
        protected 
         
        final 
         
         
        int
      
      getWaitQueueLength
      ()
    
    
  
  
      Returns
      - the estimated number of waiting threads.
 
   
  
 
 
 
    
      
        protected 
         
        final 
         
         
        Collection<Thread>
      
      getWaitingThreads
      ()
    
    
  
  
      Returns
      - the collection of threads
 
   
  
 
 
 
    
      
        protected 
         
        final 
         
         
        boolean
      
      hasWaiters
      ()
    
    
  
  
      Returns
      - true if there are any waiting threads.