@ManagedObject(value="A thread pool with no max bound by default") public class QueuedThreadPool extends AbstractLifeCycle implements ThreadPool.SizedThreadPool, Dumpable
AbstractLifeCycle.AbstractLifeCycleListenerThreadPool.SizedThreadPoolLifeCycle.Listener| Constructor and Description |
|---|
QueuedThreadPool() |
QueuedThreadPool(int maxThreads) |
QueuedThreadPool(int maxThreads,
int minThreads) |
QueuedThreadPool(int maxThreads,
int minThreads,
int idleTimeout) |
QueuedThreadPool(int maxThreads,
int minThreads,
int idleTimeout,
BlockingQueue<Runnable> queue) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
doStart() |
protected void |
doStop() |
String |
dump() |
void |
dump(Appendable out,
String indent) |
String |
dumpThread(long id) |
void |
execute(Runnable job) |
int |
getIdleThreads() |
int |
getIdleTimeout()
Get the maximum thread idle time.
|
int |
getMaxThreads()
Set the maximum number of threads.
|
int |
getMinThreads()
Get the minimum number of threads.
|
String |
getName() |
protected BlockingQueue<Runnable> |
getQueue() |
int |
getQueueSize()
Get the size of the job queue.
|
int |
getThreads() |
int |
getThreadsPriority()
Get the priority of the pool threads.
|
boolean |
interruptThread(long id) |
boolean |
isDaemon()
Delegated to the named or anonymous Pool.
|
boolean |
isDetailedDump() |
boolean |
isLowOnThreads() |
void |
join()
Blocks until the thread pool is
stopped. |
protected Thread |
newThread(Runnable runnable) |
protected void |
runJob(Runnable job)
Runs the given job in the
current thread. |
void |
setDaemon(boolean daemon)
Delegated to the named or anonymous Pool.
|
void |
setDetailedDump(boolean detailedDump) |
void |
setIdleTimeout(int idleTimeout)
Set the maximum thread idle time.
|
void |
setMaxThreads(int maxThreads)
Set the maximum number of threads.
|
void |
setMinThreads(int minThreads)
Set the minimum number of threads.
|
void |
setName(String name) |
void |
setQueue(BlockingQueue<Runnable> queue) |
void |
setThreadsPriority(int priority)
Set the priority of the pool threads.
|
String |
toString() |
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, setStopTimeout, start, stoppublic QueuedThreadPool()
public QueuedThreadPool(@Name(value="maxThreads") int maxThreads, @Name(value="minThreads") int minThreads)
public QueuedThreadPool(@Name(value="maxThreads") int maxThreads, @Name(value="minThreads") int minThreads, @Name(value="idleTimeout") int idleTimeout)
protected void doStart()
throws Exception
doStart in class AbstractLifeCycleExceptionprotected void doStop()
throws Exception
doStop in class AbstractLifeCycleExceptionpublic void setDaemon(boolean daemon)
public void setIdleTimeout(int idleTimeout)
idleTimeout - Max idle time in ms.getIdleTimeout()public void setMaxThreads(int maxThreads)
setMaxThreads in interface ThreadPool.SizedThreadPoolmaxThreads - maximum number of threads.getMaxThreads()public void setMinThreads(int minThreads)
setMinThreads in interface ThreadPool.SizedThreadPoolminThreads - minimum number of threadsgetMinThreads()public void setName(String name)
name - Name of this thread pool to use when naming threads.public void setThreadsPriority(int priority)
priority - the new thread priority.@ManagedAttribute(value="maximum time a thread may be idle in ms") public int getIdleTimeout()
setIdleTimeout(int)@ManagedAttribute(value="maximum number of threads in the pool") public int getMaxThreads()
getMaxThreads in interface ThreadPool.SizedThreadPoolsetMaxThreads(int)@ManagedAttribute(value="minimum number of threads in the pool") public int getMinThreads()
getMinThreads in interface ThreadPool.SizedThreadPoolsetMinThreads(int)@ManagedAttribute(value="name of the thread pool") public String getName()
@ManagedAttribute(value="priority of threads in the pool") public int getThreadsPriority()
@ManagedAttribute(value="Size of the job queue") public int getQueueSize()
@ManagedAttribute(value="thead pool using a daemon thread") public boolean isDaemon()
public boolean isDetailedDump()
public void setDetailedDump(boolean detailedDump)
public void join()
throws InterruptedException
stopped.join in interface ThreadPoolInterruptedException@ManagedAttribute(value="total number of threads currently in the pool") public int getThreads()
getThreads in interface ThreadPool@ManagedAttribute(value="total number of idle threads in the pool") public int getIdleThreads()
getIdleThreads in interface ThreadPool@ManagedAttribute(value="True if the pools is at maxThreads and there are not idle threads than queued jobs") public boolean isLowOnThreads()
isLowOnThreads in interface ThreadPool@ManagedOperation(value="dump thread state") public String dump()
public void dump(Appendable out, String indent) throws IOException
dump in interface DumpableIOExceptionprotected void runJob(Runnable job)
Runs the given job in the current thread.
Subclasses may override to perform pre/post actions before/after the job is run.
job - the job to runprotected BlockingQueue<Runnable> getQueue()
public void setQueue(BlockingQueue<Runnable> queue)
queue - the job queue@ManagedOperation(value="interrupt a pool thread") public boolean interruptThread(@Name(value="id") long id)
id - The thread ID to interrupt.@ManagedOperation(value="dump a pool thread stack") public String dumpThread(@Name(value="id") long id)
id - The thread ID to interrupt.Copyright © 1995-2015 Webtide. All Rights Reserved.