Package org.apache.mina.filter.executor
Class OrderedThreadPoolExecutor
- java.lang.Object
-
- java.util.concurrent.AbstractExecutorService
-
- java.util.concurrent.ThreadPoolExecutor
-
- org.apache.mina.filter.executor.OrderedThreadPoolExecutor
-
- All Implemented Interfaces:
Executor
,ExecutorService
public class OrderedThreadPoolExecutor extends ThreadPoolExecutor
AThreadPoolExecutor
that maintains the order ofIoEvent
s.If you don't need to maintain the order of events per session, please use
UnorderedThreadPoolExecutor
.- Author:
- Apache MINA Project
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.concurrent.ThreadPoolExecutor
ThreadPoolExecutor.AbortPolicy, ThreadPoolExecutor.CallerRunsPolicy, ThreadPoolExecutor.DiscardOldestPolicy, ThreadPoolExecutor.DiscardPolicy
-
-
Constructor Summary
Constructors Constructor Description OrderedThreadPoolExecutor()
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 acceptedOrderedThreadPoolExecutor(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 acceptedOrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize)
Creates a default ThreadPool, with default values : - keepAlive set to 30 seconds - A default ThreadFactory - All events are acceptedOrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit)
Creates a default ThreadPool, with default values : - A default ThreadFactory - All events are acceptedOrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, ThreadFactory threadFactory)
Creates a default ThreadPool, with default values : - A default ThreadFactoryOrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, ThreadFactory threadFactory, IoEventQueueHandler eventQueueHandler)
Creates a new instance of a OrderedThreadPoolExecutor.OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, IoEventQueueHandler eventQueueHandler)
Creates a default ThreadPool, with default values : - A default ThreadFactory
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 corePoolSize)
void
setMaximumPoolSize(int maximumPoolSize)
void
setRejectedExecutionHandler(RejectedExecutionHandler handler)
void
shutdown()
List<Runnable>
shutdownNow()
-
Methods inherited from class java.util.concurrent.ThreadPoolExecutor
afterExecute, allowCoreThreadTimeOut, allowsCoreThreadTimeOut, beforeExecute, finalize, getCorePoolSize, getKeepAliveTime, getMaximumPoolSize, getRejectedExecutionHandler, getThreadFactory, setKeepAliveTime, setThreadFactory, terminated, toString
-
Methods inherited from class java.util.concurrent.AbstractExecutorService
invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor, submit, submit, submit
-
-
-
-
Constructor Detail
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor()
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
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(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- Parameters:
maximumPoolSize
- The maximum pool size
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize)
Creates a default ThreadPool, with default values : - keepAlive set to 30 seconds - A default ThreadFactory - All events are accepted- Parameters:
corePoolSize
- The initial pool sizePoolSizemaximumPoolSize
- The maximum pool size
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit)
Creates a default ThreadPool, with default values : - A default ThreadFactory - All events are accepted- Parameters:
corePoolSize
- The initial pool sizePoolSizemaximumPoolSize
- The maximum pool sizekeepAliveTime
- Default duration for a threadunit
- Time unit used for the keepAlive value
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, IoEventQueueHandler eventQueueHandler)
Creates a default ThreadPool, with default values : - A default ThreadFactory- Parameters:
corePoolSize
- The initial pool sizePoolSizemaximumPoolSize
- The maximum pool sizekeepAliveTime
- Default duration for a threadunit
- Time unit used for the keepAlive valueeventQueueHandler
- The queue used to store events
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, ThreadFactory threadFactory)
Creates a default ThreadPool, with default values : - A default ThreadFactory- Parameters:
corePoolSize
- 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 threads
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, ThreadFactory threadFactory, IoEventQueueHandler eventQueueHandler)
Creates a new instance of a OrderedThreadPoolExecutor.- Parameters:
corePoolSize
- 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 events
-
-
Method Detail
-
getQueueHandler
public IoEventQueueHandler getQueueHandler()
- Returns:
- The associated queue handler.
-
setRejectedExecutionHandler
public void setRejectedExecutionHandler(RejectedExecutionHandler handler)
- Overrides:
setRejectedExecutionHandler
in classThreadPoolExecutor
-
setMaximumPoolSize
public void setMaximumPoolSize(int maximumPoolSize)
- Overrides:
setMaximumPoolSize
in classThreadPoolExecutor
-
awaitTermination
public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
awaitTermination
in interfaceExecutorService
- Overrides:
awaitTermination
in classThreadPoolExecutor
- Throws:
InterruptedException
-
isShutdown
public boolean isShutdown()
- Specified by:
isShutdown
in interfaceExecutorService
- Overrides:
isShutdown
in classThreadPoolExecutor
-
isTerminated
public boolean isTerminated()
- Specified by:
isTerminated
in interfaceExecutorService
- Overrides:
isTerminated
in classThreadPoolExecutor
-
shutdown
public void shutdown()
- Specified by:
shutdown
in interfaceExecutorService
- Overrides:
shutdown
in classThreadPoolExecutor
-
shutdownNow
public List<Runnable> shutdownNow()
- Specified by:
shutdownNow
in interfaceExecutorService
- Overrides:
shutdownNow
in classThreadPoolExecutor
-
execute
public void execute(Runnable task)
- Specified by:
execute
in interfaceExecutor
- Overrides:
execute
in classThreadPoolExecutor
-
getActiveCount
public int getActiveCount()
- Overrides:
getActiveCount
in classThreadPoolExecutor
-
getCompletedTaskCount
public long getCompletedTaskCount()
- Overrides:
getCompletedTaskCount
in classThreadPoolExecutor
-
getLargestPoolSize
public int getLargestPoolSize()
- Overrides:
getLargestPoolSize
in classThreadPoolExecutor
-
getPoolSize
public int getPoolSize()
- Overrides:
getPoolSize
in classThreadPoolExecutor
-
getTaskCount
public long getTaskCount()
- Overrides:
getTaskCount
in classThreadPoolExecutor
-
isTerminating
public boolean isTerminating()
- Overrides:
isTerminating
in classThreadPoolExecutor
-
prestartAllCoreThreads
public int prestartAllCoreThreads()
- Overrides:
prestartAllCoreThreads
in classThreadPoolExecutor
-
prestartCoreThread
public boolean prestartCoreThread()
- Overrides:
prestartCoreThread
in classThreadPoolExecutor
-
getQueue
public BlockingQueue<Runnable> getQueue()
- Overrides:
getQueue
in classThreadPoolExecutor
-
purge
public void purge()
- Overrides:
purge
in classThreadPoolExecutor
-
remove
public boolean remove(Runnable task)
- Overrides:
remove
in classThreadPoolExecutor
-
setCorePoolSize
public void setCorePoolSize(int corePoolSize)
- Overrides:
setCorePoolSize
in classThreadPoolExecutor
-
-