Package org.agrona.concurrent
Class ShutdownSignalBarrier
- java.lang.Object
-
- org.agrona.concurrent.ShutdownSignalBarrier
-
public class ShutdownSignalBarrier extends java.lang.Object
One time barrier for blocking one or more threads until a SIGINT or SIGTERM signal is received from the operating system or by programmatically callingsignal()
. Useful for shutting down a service.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.CountDownLatch
latch
private static java.util.ArrayList<java.util.concurrent.CountDownLatch>
LATCHES
private static java.lang.String[]
SIGNAL_NAMES
Signals the barrier will be registered for.
-
Constructor Summary
Constructors Constructor Description ShutdownSignalBarrier()
Construct and register the barrier ready for use.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
await()
Await the reception of the shutdown signal.void
remove()
Remove the barrier from the shutdown signals.void
signal()
Programmatically signal awaiting threads on the latch associated with this barrier.void
signalAll()
Programmatically signal all awaiting threads.private static void
signalAndClearAll()
-
-
-
Method Detail
-
signal
public void signal()
Programmatically signal awaiting threads on the latch associated with this barrier.
-
signalAll
public void signalAll()
Programmatically signal all awaiting threads.
-
remove
public void remove()
Remove the barrier from the shutdown signals.
-
await
public void await()
Await the reception of the shutdown signal.
-
signalAndClearAll
private static void signalAndClearAll()
-
-