org.sblim.wbem.util
Class ThreadPool
java.lang.Object
org.sblim.wbem.util.ThreadPool
public class ThreadPool
extends java.lang.Object
Class ThreadPool implements a pool that manages threads and executes
submitted tasks using this threads.
ThreadPool(int pMinPoolSize, int pMaxPoolSize, ThreadGroup pGroup, String pWorkerName) - Ctor
|
boolean | execute(Runnable task)
|
boolean | execute(Runnable task, boolean enqueue) - Submits a task for execution
|
protected ThreadGroup | getGroup() - Gets the associated thread group
|
long | getIdleTimeOutMs() - Returns the idle timeout
|
protected void | removeThread(org.sblim.wbem.util.ThreadPool.Worker worker) - Removes a worker from the pool.
|
void | shutdown() - Shuts down the thread pool and all workers
|
boolean | taskCompleted(org.sblim.wbem.util.ThreadPool.Worker worker, boolean timedOut) - Used by the worker to report task completion and ask for a new task
|
ThreadPool
public ThreadPool(int pMinPoolSize,
int pMaxPoolSize,
ThreadGroup pGroup,
String pWorkerName)
Ctor
pMinPoolSize
- The minimal pool size. The pool will always keep at least this
number of worker threads alive even in no load situations.pMaxPoolSize
- The maximal pool size. The pool will create up to that number
of worker threads on heavy load.pGroup
- Then thread group to put the worker threads inpWorkerName
- The name to use for worker threads
execute
public boolean execute(Runnable task)
execute
public boolean execute(Runnable task,
boolean enqueue)
Submits a task for execution
task
- The taskenqueue
- if true
the task will be enqueued if no worker
is free, otherwise the task is executed immediately or not at
all.
true
if the task was executed or enqueued,
false
otherwise.
getGroup
protected ThreadGroup getGroup()
Gets the associated thread group
getIdleTimeOutMs
public long getIdleTimeOutMs()
Returns the idle timeout
removeThread
protected void removeThread(org.sblim.wbem.util.ThreadPool.Worker worker)
Removes a worker from the pool.
shutdown
public void shutdown()
Shuts down the thread pool and all workers
taskCompleted
public boolean taskCompleted(org.sblim.wbem.util.ThreadPool.Worker worker,
boolean timedOut)
Used by the worker to report task completion and ask for a new task
worker
- The workertimedOut
- true
if the worker has been idle and reached
timeout
true
if the worker shall stay alive,
false
if it shall shut down itself
Copyright © 2005, 2007 IBM Corporation. All Rights Reserved.