public class PriorityThreadPoolExecutor extends ThreadPoolExecutor
ThreadPoolExecutor
that maintains the order of IoEvent
s
within a session (similar to OrderedThreadPoolExecutor
) and allows
some sessions to be prioritized over other sessions.
If you don't need to maintain the order of events per session, please use
UnorderedThreadPoolExecutor
.
If you don't need to prioritize sessions, please use
OrderedThreadPoolExecutor
.
ThreadPoolExecutor.AbortPolicy, ThreadPoolExecutor.CallerRunsPolicy, ThreadPoolExecutor.DiscardOldestPolicy, ThreadPoolExecutor.DiscardPolicy
Constructor and Description |
---|
PriorityThreadPoolExecutor()
Creates a default ThreadPool, with default values :
minimum pool size is 0
maximum pool size is 16
keepAlive set to 30 seconds
A default ThreadFactory
All events are accepted
|
PriorityThreadPoolExecutor(Comparator<IoSession> comparator)
Creates a default ThreadPool, with default values :
minimum pool size is 0
maximum pool size is 16
keepAlive set to 30 seconds
A default ThreadFactory
All events are accepted
|
PriorityThreadPoolExecutor(int maximumPoolSize)
Creates a default ThreadPool, with default values :
minimum pool size is 0
keepAlive set to 30 seconds
A default ThreadFactory
All events are accepted
|
PriorityThreadPoolExecutor(int maximumPoolSize,
Comparator<IoSession> comparator)
Creates a default ThreadPool, with default values :
maximum pool size is 16
keepAlive set to 30 seconds
A default ThreadFactory
All events are accepted
|
PriorityThreadPoolExecutor(int minimumPoolSize,
int maximumPoolSize)
Creates a default ThreadPool, with default values :
keepAlive set to 30 seconds
A default ThreadFactory
All events are accepted
|
PriorityThreadPoolExecutor(int minimumPoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit)
Creates a default ThreadPool, with default values :
minimum pool size is 0
A default ThreadFactory
|
PriorityThreadPoolExecutor(int minimumPoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
IoEventQueueHandler eventQueueHandler)
Creates a default ThreadPool, with default values :
A default ThreadFactory
|
PriorityThreadPoolExecutor(int minimumPoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
ThreadFactory threadFactory)
Creates a default ThreadPool
|
PriorityThreadPoolExecutor(int minimumPoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
ThreadFactory threadFactory,
IoEventQueueHandler eventQueueHandler,
Comparator<IoSession> comparator)
Creates a new instance of a PrioritisedOrderedThreadPoolExecutor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
awaitTermination(long timeout,
TimeUnit unit) |
void |
execute(Runnable task) |
int |
getActiveCount() |
long |
getCompletedTaskCount() |
int |
getLargestPoolSize() |
int |
getPoolSize() |
BlockingQueue<Runnable> |
getQueue() |
IoEventQueueHandler |
getQueueHandler() |
long |
getTaskCount() |
boolean |
isShutdown() |
boolean |
isTerminated() |
boolean |
isTerminating() |
int |
prestartAllCoreThreads() |
boolean |
prestartCoreThread() |
void |
purge() |
boolean |
remove(Runnable task) |
void |
setCorePoolSize(int minimumPoolSize) |
void |
setMaximumPoolSize(int maximumPoolSize) |
void |
setRejectedExecutionHandler(RejectedExecutionHandler handler) |
void |
shutdown() |
List<Runnable> |
shutdownNow() |
afterExecute, allowCoreThreadTimeOut, allowsCoreThreadTimeOut, beforeExecute, finalize, getCorePoolSize, getKeepAliveTime, getMaximumPoolSize, getRejectedExecutionHandler, getThreadFactory, setKeepAliveTime, setThreadFactory, terminated, toString
invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor, submit, submit, submit
public PriorityThreadPoolExecutor()
public PriorityThreadPoolExecutor(Comparator<IoSession> comparator)
comparator
- A session comparatorpublic PriorityThreadPoolExecutor(int maximumPoolSize)
maximumPoolSize
- The maximum pool sizepublic PriorityThreadPoolExecutor(int maximumPoolSize, Comparator<IoSession> comparator)
maximumPoolSize
- The maximum pool sizecomparator
- A session comparatorpublic PriorityThreadPoolExecutor(int minimumPoolSize, int maximumPoolSize)
minimumPoolSize
- The initial pool sizemaximumPoolSize
- The maximum pool sizepublic PriorityThreadPoolExecutor(int minimumPoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit)
minimumPoolSize
- The initial pool sizemaximumPoolSize
- The maximum pool sizekeepAliveTime
- Default duration for a threadunit
- Time unit used for the keepAlive valuepublic PriorityThreadPoolExecutor(int minimumPoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, IoEventQueueHandler eventQueueHandler)
minimumPoolSize
- The initial pool sizemaximumPoolSize
- The maximum pool sizekeepAliveTime
- Default duration for a threadunit
- Time unit used for the keepAlive valueeventQueueHandler
- The queue used to store eventspublic PriorityThreadPoolExecutor(int minimumPoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, ThreadFactory threadFactory)
minimumPoolSize
- The initial pool sizemaximumPoolSize
- The maximum pool sizekeepAliveTime
- Default duration for a threadunit
- Time unit used for the keepAlive valuethreadFactory
- The factory used to create threadspublic PriorityThreadPoolExecutor(int minimumPoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, ThreadFactory threadFactory, IoEventQueueHandler eventQueueHandler, Comparator<IoSession> comparator)
minimumPoolSize
- The initial pool sizePoolSizemaximumPoolSize
- The maximum pool sizekeepAliveTime
- Default duration for a threadunit
- Time unit used for the keepAlive valuethreadFactory
- The factory used to create threadseventQueueHandler
- The queue used to store eventscomparator
- A session comparatorpublic IoEventQueueHandler getQueueHandler()
public void setRejectedExecutionHandler(RejectedExecutionHandler handler)
setRejectedExecutionHandler
in class ThreadPoolExecutor
public void setMaximumPoolSize(int maximumPoolSize)
setMaximumPoolSize
in class ThreadPoolExecutor
public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException
awaitTermination
in interface ExecutorService
awaitTermination
in class ThreadPoolExecutor
InterruptedException
public boolean isShutdown()
isShutdown
in interface ExecutorService
isShutdown
in class ThreadPoolExecutor
public boolean isTerminated()
isTerminated
in interface ExecutorService
isTerminated
in class ThreadPoolExecutor
public void shutdown()
shutdown
in interface ExecutorService
shutdown
in class ThreadPoolExecutor
public List<Runnable> shutdownNow()
shutdownNow
in interface ExecutorService
shutdownNow
in class ThreadPoolExecutor
public void execute(Runnable task)
execute
in interface Executor
execute
in class ThreadPoolExecutor
public int getActiveCount()
getActiveCount
in class ThreadPoolExecutor
public long getCompletedTaskCount()
getCompletedTaskCount
in class ThreadPoolExecutor
public int getLargestPoolSize()
getLargestPoolSize
in class ThreadPoolExecutor
public int getPoolSize()
getPoolSize
in class ThreadPoolExecutor
public long getTaskCount()
getTaskCount
in class ThreadPoolExecutor
public boolean isTerminating()
isTerminating
in class ThreadPoolExecutor
public int prestartAllCoreThreads()
prestartAllCoreThreads
in class ThreadPoolExecutor
public boolean prestartCoreThread()
prestartCoreThread
in class ThreadPoolExecutor
public BlockingQueue<Runnable> getQueue()
getQueue
in class ThreadPoolExecutor
public void purge()
purge
in class ThreadPoolExecutor
public boolean remove(Runnable task)
remove
in class ThreadPoolExecutor
public void setCorePoolSize(int minimumPoolSize)
setCorePoolSize
in class ThreadPoolExecutor
Copyright © 2004–2025 Apache MINA Project. All rights reserved.