Package org.apache.mina.filter.executor
Class UnorderedThreadPoolExecutor
- java.lang.Object
-
- java.util.concurrent.AbstractExecutorService
-
- java.util.concurrent.ThreadPoolExecutor
-
- org.apache.mina.filter.executor.UnorderedThreadPoolExecutor
-
- All Implemented Interfaces:
java.util.concurrent.Executor,java.util.concurrent.ExecutorService
public class UnorderedThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutorAThreadPoolExecutorthat does not maintain the order ofIoEvents. This means more than one event handler methods can be invoked at the same time with mixed order. For example, let's assume that messageReceived, messageSent, and sessionClosed events are fired.- All event handler methods can be called simultaneously. (e.g. messageReceived and messageSent can be invoked at the same time.)
- The event order can be mixed up. (e.g. sessionClosed or messageSent can be invoked before messageReceived is invoked.)
OrderedThreadPoolExecutor.- Author:
- Apache MINA Project
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.concurrent.ThreadPoolExecutor
java.util.concurrent.ThreadPoolExecutor.AbortPolicy, java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardPolicy
-
-
Constructor Summary
Constructors Constructor Description UnorderedThreadPoolExecutor()Creates a new UnorderedThreadPoolExecutor instanceUnorderedThreadPoolExecutor(int maximumPoolSize)Creates a new UnorderedThreadPoolExecutor instanceUnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize)Creates a new UnorderedThreadPoolExecutor instanceUnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit)Creates a new UnorderedThreadPoolExecutor instanceUnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.ThreadFactory threadFactory)Creates a new UnorderedThreadPoolExecutor instanceUnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.ThreadFactory threadFactory, IoEventQueueHandler queueHandler)Creates a new UnorderedThreadPoolExecutor instanceUnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, IoEventQueueHandler queueHandler)Creates a new UnorderedThreadPoolExecutor instance
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanawaitTermination(long timeout, java.util.concurrent.TimeUnit unit)voidexecute(java.lang.Runnable task)intgetActiveCount()longgetCompletedTaskCount()intgetCorePoolSize()intgetLargestPoolSize()intgetMaximumPoolSize()intgetPoolSize()IoEventQueueHandlergetQueueHandler()longgetTaskCount()booleanisShutdown()booleanisTerminated()booleanisTerminating()intprestartAllCoreThreads()booleanprestartCoreThread()voidpurge()booleanremove(java.lang.Runnable task)voidsetCorePoolSize(int corePoolSize)voidsetMaximumPoolSize(int maximumPoolSize)voidsetRejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler handler)voidshutdown()java.util.List<java.lang.Runnable>shutdownNow()-
Methods inherited from class java.util.concurrent.ThreadPoolExecutor
afterExecute, allowCoreThreadTimeOut, allowsCoreThreadTimeOut, beforeExecute, finalize, getKeepAliveTime, getQueue, getRejectedExecutionHandler, getThreadFactory, setKeepAliveTime, setThreadFactory, terminated, toString
-
-
-
-
Constructor Detail
-
UnorderedThreadPoolExecutor
public UnorderedThreadPoolExecutor()
Creates a new UnorderedThreadPoolExecutor instance
-
UnorderedThreadPoolExecutor
public UnorderedThreadPoolExecutor(int maximumPoolSize)
Creates a new UnorderedThreadPoolExecutor instance- Parameters:
maximumPoolSize- The maximum number of threads in the pool
-
UnorderedThreadPoolExecutor
public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize)Creates a new UnorderedThreadPoolExecutor instance- Parameters:
corePoolSize- The initial threads pool sizemaximumPoolSize- The maximum number of threads in the pool
-
UnorderedThreadPoolExecutor
public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit)Creates a new UnorderedThreadPoolExecutor instance- Parameters:
corePoolSize- The initial threads pool sizemaximumPoolSize- The maximum number of threads in the poolkeepAliveTime- The time to keep threads aliveunit- The time unit for the keepAliveTime
-
UnorderedThreadPoolExecutor
public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, IoEventQueueHandler queueHandler)Creates a new UnorderedThreadPoolExecutor instance- Parameters:
corePoolSize- The initial threads pool sizemaximumPoolSize- The maximum number of threads in the poolkeepAliveTime- The time to keep threads aliveunit- The time unit for the keepAliveTimequeueHandler- The Event queue handler to use
-
UnorderedThreadPoolExecutor
public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.ThreadFactory threadFactory)Creates a new UnorderedThreadPoolExecutor instance- Parameters:
corePoolSize- The initial threads pool sizemaximumPoolSize- The maximum number of threads in the poolkeepAliveTime- The time to keep threads aliveunit- The time unit for the keepAliveTimethreadFactory- The Thread factory to use
-
UnorderedThreadPoolExecutor
public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.ThreadFactory threadFactory, IoEventQueueHandler queueHandler)Creates a new UnorderedThreadPoolExecutor instance- Parameters:
corePoolSize- The initial threads pool sizemaximumPoolSize- The maximum number of threads in the poolkeepAliveTime- The time to keep threads aliveunit- The time unit for the keepAliveTimethreadFactory- The Thread factory to usequeueHandler- The Event queue handler to use
-
-
Method Detail
-
getQueueHandler
public IoEventQueueHandler getQueueHandler()
- Returns:
- The Queue handler in use
-
setRejectedExecutionHandler
public void setRejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler handler)
- Overrides:
setRejectedExecutionHandlerin classjava.util.concurrent.ThreadPoolExecutor
-
getMaximumPoolSize
public int getMaximumPoolSize()
- Overrides:
getMaximumPoolSizein classjava.util.concurrent.ThreadPoolExecutor
-
setMaximumPoolSize
public void setMaximumPoolSize(int maximumPoolSize)
- Overrides:
setMaximumPoolSizein classjava.util.concurrent.ThreadPoolExecutor
-
awaitTermination
public boolean awaitTermination(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException- Specified by:
awaitTerminationin interfacejava.util.concurrent.ExecutorService- Overrides:
awaitTerminationin classjava.util.concurrent.ThreadPoolExecutor- Throws:
java.lang.InterruptedException
-
isShutdown
public boolean isShutdown()
- Specified by:
isShutdownin interfacejava.util.concurrent.ExecutorService- Overrides:
isShutdownin classjava.util.concurrent.ThreadPoolExecutor
-
isTerminated
public boolean isTerminated()
- Specified by:
isTerminatedin interfacejava.util.concurrent.ExecutorService- Overrides:
isTerminatedin classjava.util.concurrent.ThreadPoolExecutor
-
shutdown
public void shutdown()
- Specified by:
shutdownin interfacejava.util.concurrent.ExecutorService- Overrides:
shutdownin classjava.util.concurrent.ThreadPoolExecutor
-
shutdownNow
public java.util.List<java.lang.Runnable> shutdownNow()
- Specified by:
shutdownNowin interfacejava.util.concurrent.ExecutorService- Overrides:
shutdownNowin classjava.util.concurrent.ThreadPoolExecutor
-
execute
public void execute(java.lang.Runnable task)
- Specified by:
executein interfacejava.util.concurrent.Executor- Overrides:
executein classjava.util.concurrent.ThreadPoolExecutor
-
getActiveCount
public int getActiveCount()
- Overrides:
getActiveCountin classjava.util.concurrent.ThreadPoolExecutor
-
getCompletedTaskCount
public long getCompletedTaskCount()
- Overrides:
getCompletedTaskCountin classjava.util.concurrent.ThreadPoolExecutor
-
getLargestPoolSize
public int getLargestPoolSize()
- Overrides:
getLargestPoolSizein classjava.util.concurrent.ThreadPoolExecutor
-
getPoolSize
public int getPoolSize()
- Overrides:
getPoolSizein classjava.util.concurrent.ThreadPoolExecutor
-
getTaskCount
public long getTaskCount()
- Overrides:
getTaskCountin classjava.util.concurrent.ThreadPoolExecutor
-
isTerminating
public boolean isTerminating()
- Overrides:
isTerminatingin classjava.util.concurrent.ThreadPoolExecutor
-
prestartAllCoreThreads
public int prestartAllCoreThreads()
- Overrides:
prestartAllCoreThreadsin classjava.util.concurrent.ThreadPoolExecutor
-
prestartCoreThread
public boolean prestartCoreThread()
- Overrides:
prestartCoreThreadin classjava.util.concurrent.ThreadPoolExecutor
-
purge
public void purge()
- Overrides:
purgein classjava.util.concurrent.ThreadPoolExecutor
-
remove
public boolean remove(java.lang.Runnable task)
- Overrides:
removein classjava.util.concurrent.ThreadPoolExecutor
-
getCorePoolSize
public int getCorePoolSize()
- Overrides:
getCorePoolSizein classjava.util.concurrent.ThreadPoolExecutor
-
setCorePoolSize
public void setCorePoolSize(int corePoolSize)
- Overrides:
setCorePoolSizein classjava.util.concurrent.ThreadPoolExecutor
-
-