Class ReentrantCircuit
- java.lang.Object
-
- net.jodah.concurrentunit.internal.ReentrantCircuit
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classReentrantCircuit.SyncSynchronization state of 0 = closed, 1 = open.
-
Constructor Summary
Constructors Constructor Description ReentrantCircuit()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidawait()Waits for the circuit to be closed, aborting if interrupted.booleanawait(long waitDuration, TimeUnit timeUnit)Waits for thewaitDurationuntil the circuit has been closed, aborting if interrupted, returning true if the circuit is closed else false.voidclose()Closes the circuit, releasing any waiting threads.voidinterruptWaiters()Interrupts waiting threads.booleanisClosed()Returns whether the circuit is closed.voidopen()Opens the circuit.StringtoString()
-
-
-
Method Detail
-
await
public void await() throws InterruptedExceptionWaits for the circuit to be closed, aborting if interrupted.- Throws:
InterruptedException- when wait is interrupted
-
await
public boolean await(long waitDuration, TimeUnit timeUnit) throws InterruptedExceptionWaits for thewaitDurationuntil the circuit has been closed, aborting if interrupted, returning true if the circuit is closed else false.- Parameters:
waitDuration- the maximum timetimeUnit- the unit of the time- Returns:
trueif acquired;falseif timed out- Throws:
InterruptedException- when wait is interrupted
-
close
public void close()
Closes the circuit, releasing any waiting threads.
-
interruptWaiters
public void interruptWaiters()
Interrupts waiting threads.
-
isClosed
public boolean isClosed()
Returns whether the circuit is closed.- Returns:
- boolean; whether the circuit is closed.
-
open
public void open()
Opens the circuit.
-
-