public class PrioritizedEsThreadPoolExecutor extends EsThreadPoolExecutor
PrioritizedRunnable
and/or PrioritizedCallable
, those tasks that are not instances of these two will
be wrapped and assign a default Priority.NORMAL
priority.
Note, if two tasks have the same priority, the first to arrive will be executed first (FIFO style).
Modifier and Type | Class and Description |
---|---|
static class |
PrioritizedEsThreadPoolExecutor.Pending |
EsThreadPoolExecutor.ShutdownListener
java.util.concurrent.ThreadPoolExecutor.AbortPolicy, java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardPolicy
Modifier and Type | Method and Description |
---|---|
protected void |
afterExecute(java.lang.Runnable r,
java.lang.Throwable t) |
protected void |
beforeExecute(java.lang.Thread t,
java.lang.Runnable r) |
void |
execute(java.lang.Runnable command,
java.util.concurrent.ScheduledExecutorService timer,
TimeValue timeout,
java.lang.Runnable timeoutCallback) |
TimeValue |
getMaxTaskWaitTime()
Returns the waiting time of the first task in the queue
|
int |
getNumberOfPendingTasks() |
PrioritizedEsThreadPoolExecutor.Pending[] |
getPending() |
protected <T> java.util.concurrent.RunnableFuture<T> |
newTaskFor(java.util.concurrent.Callable<T> callable) |
protected <T> java.util.concurrent.RunnableFuture<T> |
newTaskFor(java.lang.Runnable runnable,
T value) |
protected java.lang.Runnable |
wrapRunnable(java.lang.Runnable command) |
doExecute, execute, getTasks, shutdown, terminated, toString, unwrap
allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getQueue, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, shutdown, shutdownNow
public PrioritizedEsThreadPoolExecutor.Pending[] getPending()
public int getNumberOfPendingTasks()
public TimeValue getMaxTaskWaitTime()
protected void beforeExecute(java.lang.Thread t, java.lang.Runnable r)
beforeExecute
in class java.util.concurrent.ThreadPoolExecutor
protected void afterExecute(java.lang.Runnable r, java.lang.Throwable t)
afterExecute
in class EsThreadPoolExecutor
public void execute(java.lang.Runnable command, java.util.concurrent.ScheduledExecutorService timer, TimeValue timeout, java.lang.Runnable timeoutCallback)
protected java.lang.Runnable wrapRunnable(java.lang.Runnable command)
wrapRunnable
in class EsThreadPoolExecutor
protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.lang.Runnable runnable, T value)
newTaskFor
in class java.util.concurrent.AbstractExecutorService
protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T> callable)
newTaskFor
in class java.util.concurrent.AbstractExecutorService