public class ThreadPool
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
ThreadPool.InterruptableTask
A task, which may be interrupted, if the pool is shutting down.
|
private class |
ThreadPool.Poolable |
static interface |
ThreadPool.Task
The thread pool contains instances of
ThreadPool.Task . |
Modifier and Type | Field and Description |
---|---|
private int |
maxSize |
private int |
num |
private java.util.List |
runningThreads |
private java.lang.ThreadGroup |
threadGroup |
private java.util.List |
waitingTasks |
private java.util.List |
waitingThreads |
Constructor and Description |
---|
ThreadPool(int pMaxSize,
java.lang.String pName)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addTask(ThreadPool.Task pTask)
Deprecated.
No longer in use.
|
int |
getMaxThreads()
Returns the maximum number of concurrent threads.
|
int |
getNumThreads()
Returns the number of threads, which have actually been created,
as opposed to the number of currently running threads.
|
private ThreadPool.Poolable |
getPoolable(ThreadPool.Task pTask,
boolean pQueue) |
private void |
remove(ThreadPool.Poolable pPoolable) |
(package private) void |
repool(ThreadPool.Poolable pPoolable) |
void |
shutdown()
Closes the pool.
|
boolean |
startTask(ThreadPool.Task pTask)
Starts a task immediately.
|
private final java.lang.ThreadGroup threadGroup
private final int maxSize
private final java.util.List waitingThreads
private final java.util.List runningThreads
private final java.util.List waitingTasks
private int num
public ThreadPool(int pMaxSize, java.lang.String pName)
pMaxSize
- Maximum number of concurrent threads.pName
- Thread group name.private void remove(ThreadPool.Poolable pPoolable)
void repool(ThreadPool.Poolable pPoolable)
public boolean startTask(ThreadPool.Task pTask)
pTask
- The task being started.addTask(ThreadPool.Task)
method instead.private ThreadPool.Poolable getPoolable(ThreadPool.Task pTask, boolean pQueue)
public boolean addTask(ThreadPool.Task pTask)
pTask
- The task being added.public void shutdown()
public int getMaxThreads()
public int getNumThreads()