|
JBoss Common Classes 2.2.17.GA | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jboss.util.threadpool.BasicThreadPool
public class BasicThreadPool
A basic thread pool. TODO: this port to jdk concurrent still needs to be tested.
Constructor Summary | |
---|---|
BasicThreadPool()
Create a new thread pool |
|
BasicThreadPool(String name)
Create a new thread pool with a default queue size of 1024, max pool size of 100, min pool size of 4, and a keep alive of 60 seconds. |
|
BasicThreadPool(String name,
ThreadGroup threadGroup)
Create a new thread pool with a default queue size of 1024, max pool size of 100, min pool size of 4, and a keep alive of 60 seconds. |
Method Summary | |
---|---|
protected void |
checkTimeoutMonitor()
Used to lazily create the task completion timeout thread and monitor |
protected void |
execute(TaskWrapper wrapper)
Execute a task |
protected void |
executeOnThread(TaskWrapper wrapper)
Execute a task on the same thread |
BlockingMode |
getBlockingMode()
|
ClassLoaderSource |
getClassLoaderSource()
Gets the source of the classloader that will be set as the thread context classloader
for pool threads. |
ThreadPool |
getInstance()
|
long |
getKeepAliveTime()
Get the keep alive time |
int |
getMaximumPoolSize()
Get the maximum pool size |
int |
getMaximumQueueSize()
Get the maximum queue size |
int |
getMinimumPoolSize()
Get the minimum pool size |
String |
getName()
Get the thread pool name |
protected org.jboss.util.threadpool.BasicThreadPool.TimeoutInfo |
getNextTimeout()
|
int |
getPoolNumber()
Get the internal pool number |
int |
getPoolSize()
|
int |
getQueueSize()
Get the current queue size |
ThreadGroup |
getThreadGroup()
|
String |
getThreadGroupName()
Retrieve the thread group name |
void |
run(Runnable runnable)
Run a runnable |
void |
run(Runnable runnable,
long startTimeout,
long completeTimeout)
Run runnable with start and complete time out set explicitely. |
void |
runTask(Task task)
Run a task |
void |
runTaskWrapper(TaskWrapper wrapper)
Run a task wrapper |
void |
setBlockingMode(BlockingMode mode)
Set the behavior of the pool when a task is added and the queue is full. |
void |
setBlockingMode(String name)
For backward compatibility with the previous string based mode |
void |
setBlockingModeString(String name)
For backward compatibility with the previous string based mode This is needed for microcontainer as it gets confused with overloaded setters. |
void |
setClassLoaderSource(ClassLoaderSource classLoaderSource)
Sets the source of the classloader that will be set as the thread context classloader
for pool threads. |
protected void |
setDefaultThreadContextClassLoader(Thread thread)
|
void |
setKeepAliveTime(long time)
Set the keep alive time |
void |
setMaximumPoolSize(int size)
Set the maximum pool size |
void |
setMaximumQueueSize(int size)
This resets the work queue capacity. |
void |
setMinimumPoolSize(int size)
Set the minimum pool size |
void |
setName(String name)
Set the thread pool name |
void |
setThreadGroupName(String threadGroupName)
Set the thread group name |
void |
stop()
Stop the thread pool |
void |
stop(boolean immediate)
Stop the pool |
String |
toString()
|
protected void |
waitForTask(TaskWrapper wrapper)
Wait for a task |
void |
waitForTasks()
Wait on the queued tasks to complete. |
void |
waitForTasks(long maxWaitTime)
Wait on the queued tasks to complete upto maxWaitTime milliseconds. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public BasicThreadPool()
public BasicThreadPool(String name)
name
- the pool namepublic BasicThreadPool(String name, ThreadGroup threadGroup)
name
- the pool namethreadGroup
- threadGroupMethod Detail |
---|
public void stop(boolean immediate)
ThreadPool
stop
in interface ThreadPool
immediate
- whether to shutdown immediatelypublic void waitForTasks() throws InterruptedException
ThreadPool
waitForTasks
in interface ThreadPool
InterruptedException
- for any iterruption errorpublic void waitForTasks(long maxWaitTime) throws InterruptedException
ThreadPool
waitForTasks
in interface ThreadPool
maxWaitTime
- the max wait time
InterruptedException
- for any interruption errorpublic void runTaskWrapper(TaskWrapper wrapper)
ThreadPool
runTaskWrapper
in interface ThreadPool
wrapper
- the task wrapperpublic void runTask(Task task)
ThreadPool
runTask
in interface ThreadPool
task
- the taskpublic void run(Runnable runnable)
ThreadPool
run
in interface ThreadPool
runnable
- the runnablepublic void run(Runnable runnable, long startTimeout, long completeTimeout)
ThreadPool
run
in interface ThreadPool
runnable
- the runnablestartTimeout
- the start timeoutcompleteTimeout
- the complete timeoutpublic ThreadGroup getThreadGroup()
public String getName()
ThreadPoolMBean
getName
in interface ThreadPoolMBean
public void setName(String name)
ThreadPoolMBean
setName
in interface ThreadPoolMBean
name
- the namepublic int getPoolNumber()
ThreadPoolMBean
getPoolNumber
in interface ThreadPoolMBean
public String getThreadGroupName()
BasicThreadPoolMBean
getThreadGroupName
in interface BasicThreadPoolMBean
public void setThreadGroupName(String threadGroupName)
BasicThreadPoolMBean
setThreadGroupName
in interface BasicThreadPoolMBean
threadGroupName
- - the thread group namepublic int getQueueSize()
BasicThreadPoolMBean
getQueueSize
in interface BasicThreadPoolMBean
public int getMaximumQueueSize()
BasicThreadPoolMBean
getMaximumQueueSize
in interface BasicThreadPoolMBean
public void setMaximumQueueSize(int size)
setMaximumQueueSize
in interface BasicThreadPoolMBean
size
- new work queue capacitypublic int getPoolSize()
public int getMinimumPoolSize()
ThreadPoolMBean
getMinimumPoolSize
in interface ThreadPoolMBean
public void setMinimumPoolSize(int size)
ThreadPoolMBean
setMinimumPoolSize
in interface ThreadPoolMBean
size
- the minimum pool sizepublic int getMaximumPoolSize()
ThreadPoolMBean
getMaximumPoolSize
in interface ThreadPoolMBean
public void setMaximumPoolSize(int size)
ThreadPoolMBean
setMaximumPoolSize
in interface ThreadPoolMBean
size
- the maximum pool sizepublic long getKeepAliveTime()
BasicThreadPoolMBean
getKeepAliveTime
in interface BasicThreadPoolMBean
public void setKeepAliveTime(long time)
BasicThreadPoolMBean
setKeepAliveTime
in interface BasicThreadPoolMBean
time
- the keep alive timepublic BlockingMode getBlockingMode()
getBlockingMode
in interface BasicThreadPoolMBean
public void setBlockingMode(BlockingMode mode)
BasicThreadPoolMBean
setBlockingMode
in interface BasicThreadPoolMBean
mode
- one of run, wait, discard, discardOldest or abort without
regard to case.public void setBlockingMode(String name)
name
- - the string form of the mode enumpublic void setBlockingModeString(String name)
name
- - the string form of the mode enumpublic ClassLoaderSource getClassLoaderSource()
BasicThreadPoolMBean
thread context classloader
for pool threads.
getClassLoaderSource
in interface BasicThreadPoolMBean
ClassLoaderSource
. May return null
.public void setClassLoaderSource(ClassLoaderSource classLoaderSource)
BasicThreadPoolMBean
thread context classloader
for pool threads. If set, whenever any new pool thread is created, it's
context classloader will be set to the loader provided by this source.
Further, when any thread is returned to the pool, its context classloader
will be reset to the loader provided by this source.
If set to null
(the default), the pool will not attempt to
manage the context classloader for pool threads; instead a newly created
pool thread will inherit its context classloader from whatever thread
triggered the addition to the pool. A thread returned to the pool will
not have its context classloader changed from whatever it was.
setClassLoaderSource
in interface BasicThreadPoolMBean
classLoaderSource
- the ClassLoaderSource
. May be null
.public ThreadPool getInstance()
getInstance
in interface ThreadPoolMBean
public void stop()
ThreadPoolMBean
stop
in interface ThreadPoolMBean
public String toString()
toString
in class Object
protected void executeOnThread(TaskWrapper wrapper)
wrapper
- the task wrapperprotected void execute(TaskWrapper wrapper)
wrapper
- the task wrapperprotected void waitForTask(TaskWrapper wrapper)
wrapper
- the task wrapperprotected void checkTimeoutMonitor()
protected org.jboss.util.threadpool.BasicThreadPool.TimeoutInfo getNextTimeout()
protected void setDefaultThreadContextClassLoader(Thread thread)
|
JBoss Common Classes 2.2.17.GA | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |