站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JBoss 4.0.1 sp1 common API Documentation 英文版文档

BasicThreadPool (JBoss/Common API) - JBoss 4.0.1 sp1 common API Documentation 英文版文档


org.jboss.util.threadpool
Class BasicThreadPool

java.lang.Object
  extended byorg.jboss.util.threadpool.BasicThreadPool
All Implemented Interfaces:
BasicThreadPoolMBean, ThreadPool, ThreadPoolMBean

public class BasicThreadPool
extends Object
implements ThreadPool, BasicThreadPoolMBean

A basic thread pool.

Version:
$Revision: 1.7.2.1 $
Author:
Adrian Brock, Scott.Stark@jboss.org

Constructor Summary
BasicThreadPool()
          Create a new thread pool
BasicThreadPool(String name)
          Create a new thread pool with a default queue size of 1024, min/max pool sizes of 100 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()
           
 ThreadPool getInstance()
          Get the instance
 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
 String getThreadGroupName()
          Retrieve the thread group name
 void run(Runnable runnable)
          Run a runnable
 void run(Runnable runnable, long startTimeout, long completeTimeout)
           
 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 setKeepAliveTime(long time)
          Set the keep alive time
 void setMaximumPoolSize(int size)
          Set the maximum pool size
 void setMaximumQueueSize(int size)
          Set the maximum queue size
 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

BasicThreadPool

public BasicThreadPool()
Create a new thread pool


BasicThreadPool

public BasicThreadPool(String name)
Create a new thread pool with a default queue size of 1024, min/max pool sizes of 100 and a keep alive of 60 seconds.

Parameters:
name - the pool name
Method Detail

stop

public void stop(boolean immediate)
Description copied from interface: ThreadPool
Stop the pool

Specified by:
stop in interface ThreadPool
Parameters:
immediate - whether to shutdown immediately

waitForTasks

public void waitForTasks()
                  throws InterruptedException
Description copied from interface: ThreadPool
Wait on the queued tasks to complete. This can only be called after after stop.

Specified by:
waitForTasks in interface ThreadPool
Throws:
InterruptedException

waitForTasks

public void waitForTasks(long maxWaitTime)
                  throws InterruptedException
Description copied from interface: ThreadPool
Wait on the queued tasks to complete upto maxWaitTime milliseconds. This can only be called after after stop.

Specified by:
waitForTasks in interface ThreadPool
Parameters:
maxWaitTime -
Throws:
InterruptedException

runTaskWrapper

public void runTaskWrapper(TaskWrapper wrapper)
Description copied from interface: ThreadPool
Run a task wrapper

Specified by:
runTaskWrapper in interface ThreadPool
Parameters:
wrapper - the task wrapper

runTask

public void runTask(Task task)
Description copied from interface: ThreadPool
Run a task

Specified by:
runTask in interface ThreadPool
Parameters:
task - the task

run

public void run(Runnable runnable)
Description copied from interface: ThreadPool
Run a runnable

Specified by:
run in interface ThreadPool
Parameters:
runnable - the runnable

run

public void run(Runnable runnable,
                long startTimeout,
                long completeTimeout)
Specified by:
run in interface ThreadPool
Parameters:
runnable -
startTimeout -
completeTimeout -

getName

public String getName()
Description copied from interface: ThreadPoolMBean
Get the thread pool name

Specified by:
getName in interface ThreadPoolMBean
Returns:
the thread pool name

setName

public void setName(String name)
Description copied from interface: ThreadPoolMBean
Set the thread pool name

Specified by:
setName in interface ThreadPoolMBean
Parameters:
name - the name

getPoolNumber

public int getPoolNumber()
Description copied from interface: ThreadPoolMBean
Get the internal pool number

Specified by:
getPoolNumber in interface ThreadPoolMBean
Returns:
the internal pool number

getThreadGroupName

public String getThreadGroupName()
Description copied from interface: BasicThreadPoolMBean
Retrieve the thread group name

Specified by:
getThreadGroupName in interface BasicThreadPoolMBean
Returns:
the thread group name

setThreadGroupName

public void setThreadGroupName(String threadGroupName)
Description copied from interface: BasicThreadPoolMBean
Set the thread group name

Specified by:
setThreadGroupName in interface BasicThreadPoolMBean
Parameters:
threadGroupName - - the thread group name

getQueueSize

public int getQueueSize()
Description copied from interface: BasicThreadPoolMBean
Get the current queue size

Specified by:
getQueueSize in interface BasicThreadPoolMBean
Returns:
the queue size

getMaximumQueueSize

public int getMaximumQueueSize()
Description copied from interface: BasicThreadPoolMBean
Get the maximum queue size

Specified by:
getMaximumQueueSize in interface BasicThreadPoolMBean
Returns:
the maximum queue size

setMaximumQueueSize

public void setMaximumQueueSize(int size)
Description copied from interface: BasicThreadPoolMBean
Set the maximum queue size

Specified by:
setMaximumQueueSize in interface BasicThreadPoolMBean
Parameters:
size - the new maximum queue size

getPoolSize

public int getPoolSize()

getMinimumPoolSize

public int getMinimumPoolSize()
Description copied from interface: ThreadPoolMBean
Get the minimum pool size

Specified by:
getMinimumPoolSize in interface ThreadPoolMBean
Returns:
the minimum pool size

setMinimumPoolSize

public void setMinimumPoolSize(int size)
Description copied from interface: ThreadPoolMBean
Set the minimum pool size

Specified by:
setMinimumPoolSize in interface ThreadPoolMBean
Parameters:
size - the minimum pool size

getMaximumPoolSize

public int getMaximumPoolSize()
Description copied from interface: ThreadPoolMBean
Get the maximum pool size

Specified by:
getMaximumPoolSize in interface ThreadPoolMBean
Returns:
the maximum pool size

setMaximumPoolSize

public void setMaximumPoolSize(int size)
Description copied from interface: ThreadPoolMBean
Set the maximum pool size

Specified by:
setMaximumPoolSize in interface ThreadPoolMBean
Parameters:
size - the maximum pool size

getKeepAliveTime

public long getKeepAliveTime()
Description copied from interface: BasicThreadPoolMBean
Get the keep alive time

Specified by:
getKeepAliveTime in interface BasicThreadPoolMBean
Returns:
the keep alive time

setKeepAliveTime

public void setKeepAliveTime(long time)
Description copied from interface: BasicThreadPoolMBean
Set the keep alive time

Specified by:
setKeepAliveTime in interface BasicThreadPoolMBean
Parameters:
time - the keep alive time

getBlockingMode

public BlockingMode getBlockingMode()
Specified by:
getBlockingMode in interface BasicThreadPoolMBean
Returns:
the blocking mode

setBlockingMode

public void setBlockingMode(BlockingMode mode)
Description copied from interface: BasicThreadPoolMBean
Set the behavior of the pool when a task is added and the queue is full. The mode string indicates one of the following modes: abort - a RuntimeException is thrown run - the calling thread executes the task wait - the calling thread blocks until the queue has room discard - the task is silently discarded without being run discardOldest - check to see if a task is about to complete and enque the new task if possible, else run the task in the calling thread

Specified by:
setBlockingMode in interface BasicThreadPoolMBean
Parameters:
mode - one of run, wait, discard, discardOldest or abort without regard to case.

setBlockingMode

public void setBlockingMode(String name)
For backward compatibility with the previous string based mode

Parameters:
name - - the string form of the mode enum

getInstance

public ThreadPool getInstance()
Description copied from interface: ThreadPoolMBean
Get the instance

Specified by:
getInstance in interface ThreadPoolMBean

stop

public void stop()
Description copied from interface: ThreadPoolMBean
Stop the thread pool

Specified by:
stop in interface ThreadPoolMBean

toString

public String toString()

executeOnThread

protected void executeOnThread(TaskWrapper wrapper)
Execute a task on the same thread

Parameters:
wrapper - the task wrapper

execute

protected void execute(TaskWrapper wrapper)
Execute a task

Parameters:
wrapper - the task wrapper

waitForTask

protected void waitForTask(TaskWrapper wrapper)
Wait for a task

Parameters:
wrapper - the task wrapper

checkTimeoutMonitor

protected void checkTimeoutMonitor()
Used to lazily create the task completion timeout thread and monitor


getNextTimeout

protected org.jboss.util.threadpool.BasicThreadPool.TimeoutInfo getNextTimeout()


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.