Package org.apache.xmlrpc.util
Class ThreadPool
- java.lang.Object
-
- org.apache.xmlrpc.util.ThreadPool
-
public class ThreadPool extends java.lang.ObjectSimple thread pool. A task is executed by obtaining a thread from the pool
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceThreadPool.InterruptableTaskA task, which may be interrupted, if the pool is shutting down.private classThreadPool.Poolablestatic interfaceThreadPool.TaskThe thread pool contains instances ofThreadPool.Task.
-
Field Summary
Fields Modifier and Type Field Description private intmaxSizeprivate intnumprivate java.util.ListrunningThreadsprivate java.lang.ThreadGroupthreadGroupprivate java.util.ListwaitingTasksprivate java.util.ListwaitingThreads
-
Constructor Summary
Constructors Constructor Description ThreadPool(int pMaxSize, java.lang.String pName)Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanaddTask(ThreadPool.Task pTask)Deprecated.No longer in use.intgetMaxThreads()Returns the maximum number of concurrent threads.intgetNumThreads()Returns the number of threads, which have actually been created, as opposed to the number of currently running threads.private ThreadPool.PoolablegetPoolable(ThreadPool.Task pTask, boolean pQueue)private voidremove(ThreadPool.Poolable pPoolable)(package private) voidrepool(ThreadPool.Poolable pPoolable)voidshutdown()Closes the pool.booleanstartTask(ThreadPool.Task pTask)Starts a task immediately.
-
-
-
Method Detail
-
remove
private void remove(ThreadPool.Poolable pPoolable)
-
repool
void repool(ThreadPool.Poolable pPoolable)
-
startTask
public boolean startTask(ThreadPool.Task pTask)
Starts a task immediately.- Parameters:
pTask- The task being started.- Returns:
- True, if the task could be started immediately. False, if
the maxmimum number of concurrent tasks was exceeded. If so, you
might consider to use the
addTask(ThreadPool.Task)method instead.
-
getPoolable
private ThreadPool.Poolable getPoolable(ThreadPool.Task pTask, boolean pQueue)
-
addTask
public boolean addTask(ThreadPool.Task pTask)
Deprecated.No longer in use.Adds a task for immediate or deferred execution.- Parameters:
pTask- The task being added.- Returns:
- True, if the task was started immediately. False, if the task will be executed later.
-
shutdown
public void shutdown()
Closes the pool.
-
getMaxThreads
public int getMaxThreads()
Returns the maximum number of concurrent threads.- Returns:
- Maximum number of threads.
-
getNumThreads
public int getNumThreads()
Returns the number of threads, which have actually been created, as opposed to the number of currently running threads.
-
-