Class ReentrantCircuit
- java.lang.Object
-
- net.jodah.concurrentunit.internal.ReentrantCircuit
-
public class ReentrantCircuit extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ReentrantCircuit.Sync
Synchronization state of 0 = closed, 1 = open.
-
Field Summary
Fields Modifier and Type Field Description private ReentrantCircuit.Sync
sync
-
Constructor Summary
Constructors Constructor Description ReentrantCircuit()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
await()
Waits for the circuit to be closed, aborting if interrupted.boolean
await(long waitDuration, java.util.concurrent.TimeUnit timeUnit)
Waits for thewaitDuration
until the circuit has been closed, aborting if interrupted, returning true if the circuit is closed else false.void
close()
Closes the circuit, releasing any waiting threads.void
interruptWaiters()
Interrupts waiting threads.boolean
isClosed()
Returns whether the circuit is closed.void
open()
Opens the circuit.java.lang.String
toString()
-
-
-
Field Detail
-
sync
private final ReentrantCircuit.Sync sync
-
-
Method Detail
-
await
public void await() throws java.lang.InterruptedException
Waits for the circuit to be closed, aborting if interrupted.- Throws:
java.lang.InterruptedException
-
await
public boolean await(long waitDuration, java.util.concurrent.TimeUnit timeUnit) throws java.lang.InterruptedException
Waits for thewaitDuration
until the circuit has been closed, aborting if interrupted, returning true if the circuit is closed else false.- Throws:
java.lang.InterruptedException
-
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.
-
open
public void open()
Opens the circuit.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-