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 ExecutorServicepublic boolean isShutdown()
isShutdown in interface ExecutorServicepublic boolean isTerminated()
isTerminated in interface ExecutorServicepublic boolean awaitTermination(long timeout,
@Nonnull
TimeUnit unit)
throws InterruptedException
awaitTermination in interface ExecutorServiceInterruptedException@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 ExecutorServiceInterruptedException@Nonnull public <T> List<Future<T>> invokeAll(@Nonnull Collection<? extends Callable<T>> tasks, long timeout, @Nonnull TimeUnit unit) throws InterruptedException
invokeAll in interface ExecutorServiceInterruptedException@Nonnull public <T> T invokeAny(@Nonnull Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException
invokeAny in interface ExecutorServiceInterruptedExceptionExecutionExceptionpublic <T> T invokeAny(@Nonnull Collection<? extends Callable<T>> tasks, long timeout, @Nonnull TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
invokeAny in interface ExecutorServiceInterruptedExceptionExecutionExceptionTimeoutExceptionCopyright © 2010–2023. All rights reserved.