Class WaitQueue.AbstractSignal

  • All Implemented Interfaces:
    WaitQueue.Signal
    Enclosing class:
    WaitQueue

    public abstract static class WaitQueue.AbstractSignal
    extends java.lang.Object
    implements WaitQueue.Signal
    An abstract signal implementation
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractSignal()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void await()
      Wait until signalled, or throw an InterruptedException if interrupted before this happens.
      void awaitUninterruptibly()
      Wait, without throwing InterruptedException, until signalled.
      boolean awaitUntil​(long until)
      Wait until signalled, or the provided time is reached, or the thread is interrupted.
      boolean awaitUntilUninterruptibly​(long until)
      Wait until signalled, or the provided time is reached, or the thread is interrupted.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractSignal

        public AbstractSignal()
    • Method Detail

      • awaitUninterruptibly

        public void awaitUninterruptibly()
        Description copied from interface: WaitQueue.Signal
        Wait, without throwing InterruptedException, until signalled. On exit isSignalled() must be true. If the thread is interrupted in the meantime, the interrupted flag will be set.
        Specified by:
        awaitUninterruptibly in interface WaitQueue.Signal
      • await

        public void await()
                   throws java.lang.InterruptedException
        Description copied from interface: WaitQueue.Signal
        Wait until signalled, or throw an InterruptedException if interrupted before this happens. On normal exit isSignalled() must be true; however if InterruptedException is thrown isCancelled() will be true.
        Specified by:
        await in interface WaitQueue.Signal
        Throws:
        java.lang.InterruptedException
      • awaitUntil

        public boolean awaitUntil​(long until)
                           throws java.lang.InterruptedException
        Description copied from interface: WaitQueue.Signal
        Wait until signalled, or the provided time is reached, or the thread is interrupted. If signalled, isSignalled() will be true on exit, and the method will return true; if timedout, the method will return false and isCancelled() will be true; if interrupted an InterruptedException will be thrown and isCancelled() will be true.
        Specified by:
        awaitUntil in interface WaitQueue.Signal
        Parameters:
        until - System.nanoTime() to wait until
        Returns:
        true if signalled, false if timed out
        Throws:
        java.lang.InterruptedException
      • awaitUntilUninterruptibly

        public boolean awaitUntilUninterruptibly​(long until)
        Description copied from interface: WaitQueue.Signal
        Wait until signalled, or the provided time is reached, or the thread is interrupted. If signalled, isSignalled() will be true on exit, and the method will return true; if timedout, the method will return false and isCancelled() will be true
        Specified by:
        awaitUntilUninterruptibly in interface WaitQueue.Signal
        Parameters:
        until - System.nanoTime() to wait until
        Returns:
        true if signalled, false if timed out