Package org.infinispan.util.concurrent
Class ReclosableLatch
- java.lang.Object
-
- java.util.concurrent.locks.AbstractOwnableSynchronizer
-
- java.util.concurrent.locks.AbstractQueuedSynchronizer
-
- org.infinispan.util.concurrent.ReclosableLatch
-
- All Implemented Interfaces:
java.io.Serializable
public class ReclosableLatch extends java.util.concurrent.locks.AbstractQueuedSynchronizer
A thread gate, that uses anAbstractQueuedSynchronizer
. 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
-
-
Constructor Summary
Constructors Constructor Description ReclosableLatch()
ReclosableLatch(boolean defaultOpen)
-
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
-
-
-
-
Method Detail
-
tryAcquireShared
public final int tryAcquireShared(int ignored)
- Overrides:
tryAcquireShared
in classjava.util.concurrent.locks.AbstractQueuedSynchronizer
-
tryReleaseShared
public final boolean tryReleaseShared(int state)
- Overrides:
tryReleaseShared
in classjava.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 classjava.util.concurrent.locks.AbstractQueuedSynchronizer
-
-