org.eclipse.jetty.util.thread
public class QueuedThreadPool extends AbstractLifeCycle implements ThreadPool.SizedThreadPool, java.util.concurrent.Executor, Dumpable
AbstractLifeCycle.AbstractLifeCycleListener
ThreadPool.SizedThreadPool
LifeCycle.Listener
_listeners, FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
Constructor and Description |
---|
QueuedThreadPool()
Construct
|
QueuedThreadPool(java.util.concurrent.BlockingQueue<java.lang.Runnable> jobQ)
Construct
|
QueuedThreadPool(int maxThreads)
Construct
|
Modifier and Type | Method and Description |
---|---|
boolean |
dispatch(java.lang.Runnable job) |
protected void |
doStart() |
protected void |
doStop() |
java.lang.String |
dump() |
void |
dump(java.lang.Appendable out,
java.lang.String indent) |
java.lang.String |
dumpThread(long id) |
void |
execute(java.lang.Runnable job) |
int |
getIdleThreads() |
int |
getMaxIdleTimeMs()
Get the maximum thread idle time.
|
int |
getMaxQueued() |
int |
getMaxStopTimeMs() |
int |
getMaxThreads()
Set the maximum number of threads.
|
int |
getMinThreads()
Get the minimum number of threads.
|
java.lang.String |
getName() |
protected java.util.concurrent.BlockingQueue<java.lang.Runnable> |
getQueue() |
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 java.lang.Thread |
newThread(java.lang.Runnable runnable) |
protected void |
runJob(java.lang.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 |
setMaxIdleTimeMs(int maxIdleTimeMs)
Set the maximum thread idle time.
|
void |
setMaxQueued(int max) |
void |
setMaxStopTimeMs(int stopTimeMs) |
void |
setMaxThreads(int maxThreads)
Set the maximum number of threads.
|
void |
setMinThreads(int minThreads)
Set the minimum number of threads.
|
void |
setName(java.lang.String name) |
void |
setThreadsPriority(int priority)
Set the priority of the pool threads.
|
boolean |
stopThread(long id)
Deprecated.
Use
interruptThread(long) in preference |
java.lang.String |
toString() |
addLifeCycleListener, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
public QueuedThreadPool()
public QueuedThreadPool(int maxThreads)
public QueuedThreadPool(java.util.concurrent.BlockingQueue<java.lang.Runnable> jobQ)
protected void doStart() throws java.lang.Exception
doStart
in class AbstractLifeCycle
java.lang.Exception
protected void doStop() throws java.lang.Exception
doStop
in class AbstractLifeCycle
java.lang.Exception
public void setDaemon(boolean daemon)
public void setMaxIdleTimeMs(int maxIdleTimeMs)
maxIdleTimeMs
- Max idle time in ms.getMaxIdleTimeMs()
public void setMaxStopTimeMs(int stopTimeMs)
stopTimeMs
- maximum total time that stop() will wait for threads to die.public void setMaxThreads(int maxThreads)
setMaxThreads
in interface ThreadPool.SizedThreadPool
maxThreads
- maximum number of threads.getMaxThreads()
public void setMinThreads(int minThreads)
setMinThreads
in interface ThreadPool.SizedThreadPool
minThreads
- minimum number of threadsgetMinThreads()
public void setName(java.lang.String name)
name
- Name of the BoundedThreadPool to use when naming Threads.public void setThreadsPriority(int priority)
priority
- the new thread priority.public int getMaxQueued()
public void setMaxQueued(int max)
max
- job queue sizepublic int getMaxIdleTimeMs()
setMaxIdleTimeMs(int)
public int getMaxStopTimeMs()
public int getMaxThreads()
getMaxThreads
in interface ThreadPool.SizedThreadPool
setMaxThreads(int)
public int getMinThreads()
getMinThreads
in interface ThreadPool.SizedThreadPool
setMinThreads(int)
public java.lang.String getName()
public int getThreadsPriority()
public boolean isDaemon()
public boolean isDetailedDump()
public void setDetailedDump(boolean detailedDump)
public boolean dispatch(java.lang.Runnable job)
dispatch
in interface ThreadPool
public void execute(java.lang.Runnable job)
execute
in interface java.util.concurrent.Executor
public void join() throws java.lang.InterruptedException
stopped
.join
in interface ThreadPool
java.lang.InterruptedException
public int getThreads()
getThreads
in interface ThreadPool
public int getIdleThreads()
getIdleThreads
in interface ThreadPool
public boolean isLowOnThreads()
isLowOnThreads
in interface ThreadPool
protected java.lang.Thread newThread(java.lang.Runnable runnable)
public void dump(java.lang.Appendable out, java.lang.String indent) throws java.io.IOException
public java.lang.String toString()
toString
in class java.lang.Object
protected void runJob(java.lang.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 java.util.concurrent.BlockingQueue<java.lang.Runnable> getQueue()
@Deprecated public boolean stopThread(long id)
interruptThread(long)
in preferenceid
- The thread ID to stop.public boolean interruptThread(long id)
id
- The thread ID to interrupt.public java.lang.String dumpThread(long id)
id
- The thread ID to interrupt.Copyright © 2017. All Rights Reserved.