Class RxTaskPool
- java.lang.Object
-
- org.apache.catalina.tribes.transport.RxTaskPool
-
public class RxTaskPool extends java.lang.Object
A 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 interface
RxTaskPool.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 int
available()
protected void
configureTask(AbstractRxTask task)
int
getMaxThreads()
int
getMinThreads()
AbstractRxTask
getRxTask()
Find an idle worker thread, if any.RxTaskPool.TaskCreator
getTaskCreator()
void
returnWorker(AbstractRxTask worker)
Called by the worker thread to return itself to the idle pool.void
setMaxTasks(int maxThreads)
void
setMinTasks(int minThreads)
void
stop()
-
-
-
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()
-
-