Class ReclosableLatch

  • All Implemented Interfaces:
    java.io.Serializable

    public class ReclosableLatch
    extends java.util.concurrent.locks.AbstractQueuedSynchronizer
    A thread gate, that uses an AbstractQueuedSynchronizer.

    This implementation allows you to create a latch with a default state (open or closed), and repeatedly open or close the latch.

    Since:
    4.0
    Author:
    Manik Surtani (manik@jboss.org)
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.util.concurrent.locks.AbstractQueuedSynchronizer

        java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void await()  
      boolean await​(long time, java.util.concurrent.TimeUnit unit)  
      void close()  
      boolean isOpened()  
      void open()  
      java.lang.String toString()  
      int tryAcquireShared​(int ignored)  
      boolean tryReleaseShared​(int state)  
      • Methods inherited from class java.util.concurrent.locks.AbstractQueuedSynchronizer

        acquire, acquireInterruptibly, acquireShared, acquireSharedInterruptibly, compareAndSetState, getExclusiveQueuedThreads, getFirstQueuedThread, getQueuedThreads, getQueueLength, getSharedQueuedThreads, getState, getWaitingThreads, getWaitQueueLength, hasContended, hasQueuedPredecessors, hasQueuedThreads, hasWaiters, isHeldExclusively, isQueued, owns, release, releaseShared, setState, tryAcquire, tryAcquireNanos, tryAcquireSharedNanos, tryRelease
      • Methods inherited from class java.util.concurrent.locks.AbstractOwnableSynchronizer

        getExclusiveOwnerThread, setExclusiveOwnerThread
      • Methods inherited from class java.lang.Object

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

      • ReclosableLatch

        public ReclosableLatch()
      • ReclosableLatch

        public ReclosableLatch​(boolean defaultOpen)
    • Method Detail

      • tryAcquireShared

        public final int tryAcquireShared​(int ignored)
        Overrides:
        tryAcquireShared in class java.util.concurrent.locks.AbstractQueuedSynchronizer
      • tryReleaseShared

        public final boolean tryReleaseShared​(int state)
        Overrides:
        tryReleaseShared in class java.util.concurrent.locks.AbstractQueuedSynchronizer
      • open

        public final void open()
      • close

        public final void close()
      • isOpened

        public boolean isOpened()
      • await

        public final void await()
                         throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • await

        public final boolean await​(long time,
                                   java.util.concurrent.TimeUnit unit)
                            throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.util.concurrent.locks.AbstractQueuedSynchronizer