Class RxTaskPool
- java.lang.Object
-
- org.apache.catalina.tribes.transport.RxTaskPool
-
public class RxTaskPool extends java.lang.ObjectA very simple thread pool class. The pool size is set at construction time and remains fixed. Threads are cycled through a FIFO idle queue.- Version:
- 1.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceRxTaskPool.TaskCreator
-
Constructor Summary
Constructors Constructor Description RxTaskPool(int maxTasks, int minTasks, RxTaskPool.TaskCreator creator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()protected voidconfigureTask(AbstractRxTask task)intgetMaxThreads()intgetMinThreads()AbstractRxTaskgetRxTask()Find an idle worker thread, if any.RxTaskPool.TaskCreatorgetTaskCreator()voidreturnWorker(AbstractRxTask worker)Called by the worker thread to return itself to the idle pool.voidsetMaxTasks(int maxThreads)voidsetMinTasks(int minThreads)voidstop()
-
-
-
Constructor Detail
-
RxTaskPool
public RxTaskPool(int maxTasks, int minTasks, RxTaskPool.TaskCreator creator) throws java.lang.Exception- Throws:
java.lang.Exception
-
-
Method Detail
-
configureTask
protected void configureTask(AbstractRxTask task)
-
getRxTask
public AbstractRxTask getRxTask()
Find an idle worker thread, if any. Could return null.- Returns:
- a worker
-
available
public int available()
-
returnWorker
public void returnWorker(AbstractRxTask worker)
Called by the worker thread to return itself to the idle pool.- Parameters:
worker- The worker
-
getMaxThreads
public int getMaxThreads()
-
getMinThreads
public int getMinThreads()
-
stop
public void stop()
-
setMaxTasks
public void setMaxTasks(int maxThreads)
-
setMinTasks
public void setMinTasks(int minThreads)
-
getTaskCreator
public RxTaskPool.TaskCreator getTaskCreator()
-
-