com.iplanet.am.util
Class ThreadPool
java.lang.Object
|
+--com.iplanet.am.util.ThreadPool
- public class ThreadPool
- extends java.lang.Object
This thread pool maintains a number of threads that run the tasks from
a task queue one by one. The tasks are handled in asynchronous mode,
which means it will not block the main thread to proceed while the task
is being processed by the thread pool.
This thread pool has a fixed size of threads. It maintains all the tasks
to be executed in a task queue. Each thread then in turn gets a task
from the queue to execute. If the tasks in the task queue reaches a
certain number(the threshold value), it will log an error message and
ignore the new incoming tasks until the number of un-executed tasks is
less than the threshold value. This guarantees the thread pool will not
use up the system resources under heavy load.
Constructor Summary |
ThreadPool(java.lang.String name,
int poolSize,
int threshold,
boolean daemon,
Debug debug)
Constructs a thread pool with given parameters. |
Method Summary |
void |
run(java.lang.Runnable task)
Runs a user defined task. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ThreadPool
public ThreadPool(java.lang.String name,
int poolSize,
int threshold,
boolean daemon,
Debug debug)
- Constructs a thread pool with given parameters.
- Parameters:
name
- name of the thread pool.poolSize
- the thread pool size, indicates how many threads
are created in the pool.threshold
- the maximum size of the task queue in the thread pool.daemon
- set the threads as daemon if true; otherwise if not.debug
- Debug object to send debugging message to.
run
public final void run(java.lang.Runnable task)
throws ThreadPoolException
- Runs a user defined task.
- Parameters:
task
- user defined task.- Throws:
ThreadPoolException
-
Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.