Package org.agrona.concurrent
Class ShutdownSignalBarrier
java.lang.Object
org.agrona.concurrent.ShutdownSignalBarrier
One time barrier for blocking one or more threads until a SIGINT or SIGTERM signal is received from the operating
system or by programmatically calling
signal()
. Useful for shutting down a service.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CountDownLatch
private static final ArrayList
<CountDownLatch> static final String[]
Signals the barrier will be registered for. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
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
Programmatically signal all awaiting threads.private static void
-
Field Details
-
SIGNAL_NAMES
Signals the barrier will be registered for. -
LATCHES
-
latch
-
-
Constructor Details
-
ShutdownSignalBarrier
public ShutdownSignalBarrier()Construct and register the barrier ready for use.
-
-
Method Details
-
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()
-