@UnstableApi public final class NonStickyEventExecutorGroup extends Object implements EventExecutorGroup
EventExecutorGroup which will preserve Runnable execution order but makes no guarantees about what
EventExecutor (and therefore Thread) will be used to execute the Runnables.
The EventExecutorGroup.next() for the wrapped EventExecutorGroup must NOT return
executors of type OrderedEventExecutor.
| Constructor and Description |
|---|
NonStickyEventExecutorGroup (EventExecutorGroup group)
Creates a new instance.
|
NonStickyEventExecutorGroup (EventExecutorGroup group,
int maxTaskExecutePerRun)
Creates a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
awaitTermination (long timeout,
TimeUnit unit) |
void |
execute (Runnable command) |
<T> List<Future<T>> |
invokeAll (Collection<? extends Callable<T>> tasks) |
<T> List<Future<T>> |
invokeAll (Collection<? extends Callable<T>> tasks,
long timeout,
TimeUnit unit) |
<T> T |
invokeAny (Collection<? extends Callable<T>> tasks) |
<T> T |
invokeAny (Collection<? extends Callable<T>> tasks,
long timeout,
TimeUnit unit) |
boolean |
isShutdown () |
boolean |
isShuttingDown ()
Returns
true if and only if all EventExecutors managed by this EventExecutorGroup
are being shut down gracefully or was shut down. |
boolean |
isTerminated () |
Iterator<EventExecutor> |
iterator () |
EventExecutor |
next ()
Returns one of the
EventExecutors managed by this EventExecutorGroup. |
<V> ScheduledFuture<V> |
schedule (Callable<V> callable,
long delay,
TimeUnit unit) |
ScheduledFuture<?> |
schedule (Runnable command,
long delay,
TimeUnit unit) |
ScheduledFuture<?> |
scheduleAtFixedRate (Runnable command,
long initialDelay,
long period,
TimeUnit unit) |
ScheduledFuture<?> |
scheduleWithFixedDelay (Runnable command,
long initialDelay,
long delay,
TimeUnit unit) |
void |
shutdown () |
Future<?> |
shutdownGracefully ()
Shortcut method for
EventExecutorGroup.shutdownGracefully(long, long, TimeUnit) with sensible default values. |
Future<?> |
shutdownGracefully (long quietPeriod,
long timeout,
TimeUnit unit)
Signals this executor that the caller wants the executor to be shut down.
|
List<Runnable> |
shutdownNow () |
<T> Future<T> |
submit (Callable<T> task) |
Future<?> |
submit (Runnable task) |
<T> Future<T> |
submit (Runnable task,
T result) |
Future<?> |
terminationFuture ()
Returns the
Future which is notified when all EventExecutors managed by this
EventExecutorGroup have been terminated. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait forEach, spliterator public NonStickyEventExecutorGroup(EventExecutorGroup group)
EventExecutorGroup MUST NOT contain
any OrderedEventExecutors.public NonStickyEventExecutorGroup(EventExecutorGroup group, int maxTaskExecutePerRun)
EventExecutorGroup MUST NOT contain
any OrderedEventExecutors.public boolean isShuttingDown()
EventExecutorGroup true if and only if all EventExecutors managed by this EventExecutorGroup
are being shut down gracefully or was shut down.isShuttingDown in interface EventExecutorGroup public Future<?> shutdownGracefully()
EventExecutorGroup EventExecutorGroup.shutdownGracefully(long, long, TimeUnit) with sensible default values.shutdownGracefully in interface EventExecutorGroup EventExecutorGroup.terminationFuture() public Future<?> shutdownGracefully(long quietPeriod, long timeout, TimeUnit unit)
EventExecutorGroup EventExecutorGroup.isShuttingDown() starts to return true, and the executor prepares to shut itself down.
Unlike EventExecutorGroup.shutdown(), graceful shutdown ensures that no tasks are submitted for 'the quiet period'
(usually a couple seconds) before it shuts itself down. If a task is submitted during the quiet period,
it is guaranteed to be accepted and the quiet period will start over.shutdownGracefully in interface EventExecutorGroup quietPeriod - the quiet period as described in the documentationtimeout - the maximum amount of time to wait until the executor is EventExecutorGroup.shutdown()
regardless if a task was submitted during the quiet periodunit - the unit of quietPeriod and timeoutEventExecutorGroup.terminationFuture() public Future<?> terminationFuture()
EventExecutorGroup Future which is notified when all EventExecutors managed by this
EventExecutorGroup have been terminated.terminationFuture in interface EventExecutorGroup public void shutdown()
shutdown in interface EventExecutorGroup shutdown in interface ExecutorService public List<Runnable> shutdownNow()
shutdownNow in interface EventExecutorGroup shutdownNow in interface ExecutorService public EventExecutor next()
EventExecutorGroup EventExecutors managed by this EventExecutorGroup.next in interface EventExecutorGroup public Iterator<EventExecutor> iterator()
iterator in interface EventExecutorGroup iterator in interface Iterable<EventExecutor>public Future<?> submit(Runnable task)
submit in interface EventExecutorGroup submit in interface ExecutorService public <T> Future<T> submit(Runnable task, T result)
submit in interface EventExecutorGroup submit in interface ExecutorService public <T> Future<T> submit(Callable<T> task)
submit in interface EventExecutorGroup submit in interface ExecutorService public ScheduledFuture<?> schedule(Runnable command, long delay, TimeUnit unit)
schedule in interface EventExecutorGroup schedule in interface ScheduledExecutorService public <V> ScheduledFuture<V> schedule(Callable<V> callable, long delay, TimeUnit unit)
schedule in interface EventExecutorGroup schedule in interface ScheduledExecutorService public ScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)
scheduleAtFixedRate in interface EventExecutorGroup scheduleAtFixedRate in interface ScheduledExecutorService public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)
scheduleWithFixedDelay in interface EventExecutorGroup scheduleWithFixedDelay in interface ScheduledExecutorService public boolean isShutdown()
isShutdown in interface ExecutorService public boolean isTerminated()
isTerminated in interface ExecutorService public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException
awaitTermination in interface ExecutorService InterruptedException public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedException
invokeAll in interface ExecutorService InterruptedException public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException
invokeAll in interface ExecutorService InterruptedException public <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException
invokeAny in interface ExecutorService InterruptedException ExecutionException public <T> T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
invokeAny in interface ExecutorService InterruptedException ExecutionException TimeoutException Copyright © 2008–2025 The Netty Project. All rights reserved.