public class PriorityExecutorService extends Object implements ExecutorService
ExecutorService
wraps an existing one, creating a PriorityTask
for every Runnable
that
is submitted that's an instance of one. The created PriorityTask
will have the priority provided in the
constructor, as well as the taskSequence
provided there.
This implementation also diverts all invocations of ExecutorService.submit(Runnable)
to
Executor.execute(Runnable)
instead. This is because the submit
method implementations wrap the
tasks in another FutureTask
, which makes the task uncomparable again.
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 |
isTerminated() |
void |
shutdown() |
List<Runnable> |
shutdownNow() |
<T> Future<T> |
submit(Callable<T> task) |
Future<?> |
submit(Runnable task) |
<T> Future<T> |
submit(Runnable task,
T result) |
public void shutdown()
shutdown
in interface ExecutorService
@Nonnull public List<Runnable> shutdownNow()
shutdownNow
in interface ExecutorService
public boolean isShutdown()
isShutdown
in interface ExecutorService
public boolean isTerminated()
isTerminated
in interface ExecutorService
public boolean awaitTermination(long timeout, @Nonnull TimeUnit unit) throws InterruptedException
awaitTermination
in interface ExecutorService
InterruptedException
@Nonnull public <T> Future<T> submit(@Nonnull Callable<T> task)
submit
in interface ExecutorService
@Nonnull public <T> Future<T> submit(@Nonnull Runnable task, T result)
submit
in interface ExecutorService
@Nonnull public Future<?> submit(@Nonnull Runnable task)
submit
in interface ExecutorService
@Nonnull public <T> List<Future<T>> invokeAll(@Nonnull Collection<? extends Callable<T>> tasks) throws InterruptedException
invokeAll
in interface ExecutorService
InterruptedException
@Nonnull public <T> List<Future<T>> invokeAll(@Nonnull Collection<? extends Callable<T>> tasks, long timeout, @Nonnull TimeUnit unit) throws InterruptedException
invokeAll
in interface ExecutorService
InterruptedException
@Nonnull public <T> T invokeAny(@Nonnull Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException
invokeAny
in interface ExecutorService
InterruptedException
ExecutionException
public <T> T invokeAny(@Nonnull Collection<? extends Callable<T>> tasks, long timeout, @Nonnull TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
invokeAny
in interface ExecutorService
InterruptedException
ExecutionException
TimeoutException
Copyright © 2010–2023. All rights reserved.