blob: a6b70939c5137bcb082ca61eb3862e64b91840ef [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.11) on Mon Jun 14 16:40:44 EDT 2021 -->
<title>QueuedThreadPool (Eclipse Jetty API Doc - v10.0.5)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-06-14">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="QueuedThreadPool (Eclipse Jetty API Doc - v10.0.5)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/QueuedThreadPool.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.jetty.util.thread</a></div>
<h2 title="Class QueuedThreadPool" class="title">Class QueuedThreadPool</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.AbstractLifeCycle</a></li>
<li>
<ul class="inheritance">
<li><a href="../component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.ContainerLifeCycle</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.util.thread.QueuedThreadPool</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.util.concurrent.Executor</code>, <code>java.util.concurrent.ThreadFactory</code>, <code><a href="../component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></code>, <code><a href="../component/Destroyable.html" title="interface in org.eclipse.jetty.util.component">Destroyable</a></code>, <code><a href="../component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code>, <code><a href="../component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></code>, <code><a href="../component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></code>, <code><a href="ThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool</a></code>, <code><a href="ThreadPool.SizedThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool.SizedThreadPool</a></code>, <code><a href="TryExecutor.html" title="interface in org.eclipse.jetty.util.thread">TryExecutor</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="MonitoredQueuedThreadPool.html" title="class in org.eclipse.jetty.util.thread">MonitoredQueuedThreadPool</a></code></dd>
</dl>
<hr>
<pre><a href="../annotation/ManagedObject.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedObject</a>("A thread pool")
public class <span class="typeNameLabel">QueuedThreadPool</span>
extends <a href="../component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a>
implements java.util.concurrent.ThreadFactory, <a href="ThreadPool.SizedThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool.SizedThreadPool</a>, <a href="../component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a>, <a href="TryExecutor.html" title="interface in org.eclipse.jetty.util.thread">TryExecutor</a></pre>
<div class="block"><p>A thread pool with a queue of jobs to execute.</p>
<p>Jetty components that need threads (such as network acceptors and selector) may lease threads
from this thread pool using a <a href="ThreadPoolBudget.html" title="class in org.eclipse.jetty.util.thread"><code>ThreadPoolBudget</code></a>; these threads are "active" from the point
of view of the thread pool, but not available to run <em>transient</em> jobs such as processing
an HTTP request or a WebSocket frame.</p>
<p>QueuedThreadPool has a <a href="ReservedThreadExecutor.html" title="class in org.eclipse.jetty.util.thread"><code>ReservedThreadExecutor</code></a> which leases threads from this pool,
but makes them available as if they are "idle" threads.</p>
<p>QueuedThreadPool therefore has the following <em>fundamental</em> values:</p>
<ul>
<li><a href="#getThreads()"><code>threads</code></a>: the current number of threads. These threads may execute
a job (either internal or transient), or may be ready to run (either idle or reserved).
This number may grow or shrink as the thread pool grows or shrinks.</li>
<li><a href="#getReadyThreads()"><code>readyThreads</code></a>: the current number of threads that are ready to
run transient jobs.
This number may grow or shrink as the thread pool grows or shrinks.</li>
<li><a href="#getLeasedThreads()"><code>leasedThreads</code></a>: the number of threads that run internal jobs.
This number is typically constant after this thread pool is <a href="../component/AbstractLifeCycle.html#start()"><code>started</code></a>.</li>
</ul>
<p>Given the definitions above, the most interesting definitions are:</p>
<ul>
<li><a href="#getThreads()"><code>threads</code></a> = <a href="#getReadyThreads()"><code>readyThreads</code></a> + <a href="#getLeasedThreads()"><code>leasedThreads</code></a> + <a href="#getUtilizedThreads()"><code>utilizedThreads</code></a></li>
<li>readyThreads = <a href="#getIdleThreads()"><code>idleThreads</code></a> + <a href="#getAvailableReservedThreads()"><code>availableReservedThreads</code></a></li>
<li><a href="#getMaxAvailableThreads()"><code>maxAvailableThreads</code></a> = <a href="#getMaxThreads()"><code>maxThreads</code></a> - leasedThreads</li>
<li><a href="#getUtilizationRate()"><code>utilizationRate</code></a> = utilizedThreads / maxAvailableThreads</li>
</ul>
<p>Other definitions, typically less interesting because they take into account threads that
execute internal jobs, or because they don't take into account available reserved threads
(that are essentially ready to execute transient jobs), are:</p>
<ul>
<li><a href="#getBusyThreads()"><code>busyThreads</code></a> = utilizedThreads + leasedThreads</li>
<li><a href="#getIdleThreads()"><code>getIdleThreads()</code></a> idleThreads} = readyThreads - availableReservedThreads</li>
</ul></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../component/AbstractLifeCycle.AbstractLifeCycleListener.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.AbstractLifeCycleListener</a>, <a href="../component/AbstractLifeCycle.StopException.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.StopException</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.Container">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></h3>
<code><a href="../component/Container.InheritedListener.html" title="interface in org.eclipse.jetty.util.component">Container.InheritedListener</a>, <a href="../component/Container.Listener.html" title="interface in org.eclipse.jetty.util.component">Container.Listener</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.LifeCycle">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></h3>
<code><a href="../component/LifeCycle.Listener.html" title="interface in org.eclipse.jetty.util.component">LifeCycle.Listener</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.thread.ThreadPool">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.thread.<a href="ThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool</a></h3>
<code><a href="ThreadPool.SizedThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool.SizedThreadPool</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.thread.TryExecutor">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.thread.<a href="TryExecutor.html" title="interface in org.eclipse.jetty.util.thread">TryExecutor</a></h3>
<code><a href="TryExecutor.NoTryExecutor.html" title="class in org.eclipse.jetty.util.thread">TryExecutor.NoTryExecutor</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../component/AbstractLifeCycle.html#FAILED">FAILED</a>, <a href="../component/AbstractLifeCycle.html#STARTED">STARTED</a>, <a href="../component/AbstractLifeCycle.html#STARTING">STARTING</a>, <a href="../component/AbstractLifeCycle.html#STOPPED">STOPPED</a>, <a href="../component/AbstractLifeCycle.html#STOPPING">STOPPING</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../component/Dumpable.html#KEY">KEY</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.util.thread.TryExecutor">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;org.eclipse.jetty.util.thread.<a href="TryExecutor.html" title="interface in org.eclipse.jetty.util.thread">TryExecutor</a></h3>
<code><a href="TryExecutor.html#NO_TRY">NO_TRY</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">QueuedThreadPool</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int)">QueuedThreadPool</a></span>&#8203;(int&nbsp;maxThreads)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,int)">QueuedThreadPool</a></span>&#8203;(int&nbsp;maxThreads,
int&nbsp;minThreads)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,int,int)">QueuedThreadPool</a></span>&#8203;(int&nbsp;maxThreads,
int&nbsp;minThreads,
int&nbsp;idleTimeout)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,int,int,int,java.util.concurrent.BlockingQueue,java.lang.ThreadGroup)">QueuedThreadPool</a></span>&#8203;(int&nbsp;maxThreads,
int&nbsp;minThreads,
int&nbsp;idleTimeout,
int&nbsp;reservedThreads,
java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;&nbsp;queue,
java.lang.ThreadGroup&nbsp;threadGroup)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,int,int,int,java.util.concurrent.BlockingQueue,java.lang.ThreadGroup,java.util.concurrent.ThreadFactory)">QueuedThreadPool</a></span>&#8203;(int&nbsp;maxThreads,
int&nbsp;minThreads,
int&nbsp;idleTimeout,
int&nbsp;reservedThreads,
java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;&nbsp;queue,
java.lang.ThreadGroup&nbsp;threadGroup,
java.util.concurrent.ThreadFactory&nbsp;threadFactory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,int,int,java.util.concurrent.BlockingQueue)">QueuedThreadPool</a></span>&#8203;(int&nbsp;maxThreads,
int&nbsp;minThreads,
int&nbsp;idleTimeout,
java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;&nbsp;queue)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,int,int,java.util.concurrent.BlockingQueue,java.lang.ThreadGroup)">QueuedThreadPool</a></span>&#8203;(int&nbsp;maxThreads,
int&nbsp;minThreads,
int&nbsp;idleTimeout,
java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;&nbsp;queue,
java.lang.ThreadGroup&nbsp;threadGroup)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,int,java.util.concurrent.BlockingQueue)">QueuedThreadPool</a></span>&#8203;(int&nbsp;maxThreads,
int&nbsp;minThreads,
java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;&nbsp;queue)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doStart()">doStart</a></span>()</code></th>
<td class="colLast">
<div class="block">Starts the managed lifecycle beans in the order they were added.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doStop()">doStop</a></span>()</code></th>
<td class="colLast">
<div class="block">Stops the managed lifecycle beans in the reverse order they were added.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dump(java.lang.Appendable,java.lang.String)">dump</a></span>&#8203;(java.lang.Appendable&nbsp;out,
java.lang.String&nbsp;indent)</code></th>
<td class="colLast">
<div class="block">Dump this object (and children) into an Appendable using the provided indent after any new lines.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dumpThread(long)">dumpThread</a></span>&#8203;(long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#execute(java.lang.Runnable)">execute</a></span>&#8203;(java.lang.Runnable&nbsp;job)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAvailableReservedThreads()">getAvailableReservedThreads</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBusyThreads()">getBusyThreads</a></span>()</code></th>
<td class="colLast">
<div class="block">The number of threads executing internal and transient jobs.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIdleThreads()">getIdleThreads</a></span>()</code></th>
<td class="colLast">
<div class="block">The number of idle threads, but without including reserved threads.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIdleTimeout()">getIdleTimeout</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLeasedThreads()">getLeasedThreads</a></span>()</code></th>
<td class="colLast">
<div class="block">The <em>fundamental</em> value that represents the number of threads that are leased
to internal components, and therefore cannot be used to execute transient jobs.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLowThreadsThreshold()">getLowThreadsThreshold</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxAvailableThreads()">getMaxAvailableThreads</a></span>()</code></th>
<td class="colLast">
<div class="block">The maximum number of threads available to run transient jobs.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxLeasedThreads()">getMaxLeasedThreads</a></span>()</code></th>
<td class="colLast">
<div class="block">The maximum number of threads that are leased to internal components,
as some component may allocate its threads lazily.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxReservedThreads()">getMaxReservedThreads</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxThreads()">getMaxThreads</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMinThreads()">getMinThreads</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getQueue()">getQueue</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getQueueSize()">getQueueSize</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getReadyThreads()">getReadyThreads</a></span>()</code></th>
<td class="colLast">
<div class="block">The <em>fundamental</em> value that represents the number of threads ready to execute transient jobs.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getReservedThreads()">getReservedThreads</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStopTimeout()">getStopTimeout</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="ThreadPoolBudget.html" title="class in org.eclipse.jetty.util.thread">ThreadPoolBudget</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getThreadPoolBudget()">getThreadPoolBudget</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getThreads()">getThreads</a></span>()</code></th>
<td class="colLast">
<div class="block">The <em>fundamental</em> value that represents the number of threads currently known by this thread pool.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getThreadsPriority()">getThreadsPriority</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUtilizationRate()">getUtilizationRate</a></span>()</code></th>
<td class="colLast">
<div class="block">The rate between the number of <a href="#getUtilizedThreads()"><code>utilized threads</code></a>
and the maximum number of <a href="#getMaxAvailableThreads()"><code>utilizable threads</code></a>.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUtilizedThreads()">getUtilizedThreads</a></span>()</code></th>
<td class="colLast">
<div class="block">The number of threads executing transient jobs.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#interruptThread(long)">interruptThread</a></span>&#8203;(long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDaemon()">isDaemon</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDetailedDump()">isDetailedDump</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLowOnThreads()">isLowOnThreads</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether this thread pool is low on threads.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#join()">join</a></span>()</code></th>
<td class="colLast">
<div class="block">Blocks until the thread pool is <a href="../component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component"><code>LifeCycle</code></a> stopped.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>java.lang.Thread</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newThread(java.lang.Runnable)">newThread</a></span>&#8203;(java.lang.Runnable&nbsp;runnable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeThread(java.lang.Thread)">removeThread</a></span>&#8203;(java.lang.Thread&nbsp;thread)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#runJob(java.lang.Runnable)">runJob</a></span>&#8203;(java.lang.Runnable&nbsp;job)</code></th>
<td class="colLast">
<div class="block">Runs the given job in the <code>current thread</code>.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDaemon(boolean)">setDaemon</a></span>&#8203;(boolean&nbsp;daemon)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDetailedDump(boolean)">setDetailedDump</a></span>&#8203;(boolean&nbsp;detailedDump)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setIdleTimeout(int)">setIdleTimeout</a></span>&#8203;(int&nbsp;idleTimeout)</code></th>
<td class="colLast">
<div class="block">Set the maximum thread idle time in ms.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLowThreadsThreshold(int)">setLowThreadsThreshold</a></span>&#8203;(int&nbsp;lowThreadsThreshold)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxThreads(int)">setMaxThreads</a></span>&#8203;(int&nbsp;maxThreads)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMinThreads(int)">setMinThreads</a></span>&#8203;(int&nbsp;minThreads)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setName(java.lang.String)">setName</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Sets the name of this thread pool, used as a prefix for the thread names.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setReservedThreads(int)">setReservedThreads</a></span>&#8203;(int&nbsp;reservedThreads)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setStopTimeout(long)">setStopTimeout</a></span>&#8203;(long&nbsp;stopTimeout)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setThreadPoolBudget(org.eclipse.jetty.util.thread.ThreadPoolBudget)">setThreadPoolBudget</a></span>&#8203;(<a href="ThreadPoolBudget.html" title="class in org.eclipse.jetty.util.thread">ThreadPoolBudget</a>&nbsp;budget)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setThreadsPriority(int)">setThreadsPriority</a></span>&#8203;(int&nbsp;priority)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#startThread()">startThread</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tryExecute(java.lang.Runnable)">tryExecute</a></span>&#8203;(java.lang.Runnable&nbsp;task)</code></th>
<td class="colLast">
<div class="block">Attempt to execute a task.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.ContainerLifeCycle">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a></h3>
<code><a href="../component/ContainerLifeCycle.html#addBean(java.lang.Object)">addBean</a>, <a href="../component/ContainerLifeCycle.html#addBean(java.lang.Object,boolean)">addBean</a>, <a href="../component/ContainerLifeCycle.html#addEventListener(java.util.EventListener)">addEventListener</a>, <a href="../component/ContainerLifeCycle.html#addManaged(org.eclipse.jetty.util.component.LifeCycle)">addManaged</a>, <a href="../component/ContainerLifeCycle.html#contains(java.lang.Object)">contains</a>, <a href="../component/ContainerLifeCycle.html#destroy()">destroy</a>, <a href="../component/ContainerLifeCycle.html#dump()">dump</a>, <a href="../component/ContainerLifeCycle.html#dump(java.lang.Appendable)">dump</a>, <a href="../component/ContainerLifeCycle.html#dumpObjects(java.lang.Appendable,java.lang.String,java.lang.Object...)">dumpObjects</a>, <a href="../component/ContainerLifeCycle.html#dumpStdErr()">dumpStdErr</a>, <a href="../component/ContainerLifeCycle.html#getBean(java.lang.Class)">getBean</a>, <a href="../component/ContainerLifeCycle.html#getBeans()">getBeans</a>, <a href="../component/ContainerLifeCycle.html#getBeans(java.lang.Class)">getBeans</a>, <a href="../component/ContainerLifeCycle.html#getContainedBeans(java.lang.Class)">getContainedBeans</a>, <a href="../component/ContainerLifeCycle.html#getContainedBeans(java.lang.Class,java.util.Collection)">getContainedBeans</a>, <a href="../component/ContainerLifeCycle.html#isAuto(java.lang.Object)">isAuto</a>, <a href="../component/ContainerLifeCycle.html#isManaged(java.lang.Object)">isManaged</a>, <a href="../component/ContainerLifeCycle.html#isUnmanaged(java.lang.Object)">isUnmanaged</a>, <a href="../component/ContainerLifeCycle.html#manage(java.lang.Object)">manage</a>, <a href="../component/ContainerLifeCycle.html#removeBean(java.lang.Object)">removeBean</a>, <a href="../component/ContainerLifeCycle.html#removeBeans()">removeBeans</a>, <a href="../component/ContainerLifeCycle.html#removeEventListener(java.util.EventListener)">removeEventListener</a>, <a href="../component/ContainerLifeCycle.html#setBeans(java.util.Collection)">setBeans</a>, <a href="../component/ContainerLifeCycle.html#start(org.eclipse.jetty.util.component.LifeCycle)">start</a>, <a href="../component/ContainerLifeCycle.html#stop(org.eclipse.jetty.util.component.LifeCycle)">stop</a>, <a href="../component/ContainerLifeCycle.html#unmanage(java.lang.Object)">unmanage</a>, <a href="../component/ContainerLifeCycle.html#updateBean(java.lang.Object,java.lang.Object)">updateBean</a>, <a href="../component/ContainerLifeCycle.html#updateBean(java.lang.Object,java.lang.Object,boolean)">updateBean</a>, <a href="../component/ContainerLifeCycle.html#updateBeans(java.lang.Object%5B%5D,java.lang.Object%5B%5D)">updateBeans</a>, <a href="../component/ContainerLifeCycle.html#updateBeans(java.util.Collection,java.util.Collection)">updateBeans</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../component/AbstractLifeCycle.html#getEventListeners()">getEventListeners</a>, <a href="../component/AbstractLifeCycle.html#getState()">getState</a>, <a href="../component/AbstractLifeCycle.html#getState(org.eclipse.jetty.util.component.LifeCycle)">getState</a>, <a href="../component/AbstractLifeCycle.html#isFailed()">isFailed</a>, <a href="../component/AbstractLifeCycle.html#isRunning()">isRunning</a>, <a href="../component/AbstractLifeCycle.html#isStarted()">isStarted</a>, <a href="../component/AbstractLifeCycle.html#isStarting()">isStarting</a>, <a href="../component/AbstractLifeCycle.html#isStopped()">isStopped</a>, <a href="../component/AbstractLifeCycle.html#isStopping()">isStopping</a>, <a href="../component/AbstractLifeCycle.html#setEventListeners(java.util.Collection)">setEventListeners</a>, <a href="../component/AbstractLifeCycle.html#start()">start</a>, <a href="../component/AbstractLifeCycle.html#stop()">stop</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.Container">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></h3>
<code><a href="../component/Container.html#getCachedBeans(java.lang.Class)">getCachedBeans</a>, <a href="../component/Container.html#getEventListeners()">getEventListeners</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../component/Dumpable.html#dump()">dump</a>, <a href="../component/Dumpable.html#dumpSelf()">dumpSelf</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.Dumpable.DumpableContainer">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></h3>
<code><a href="../component/Dumpable.DumpableContainer.html#isDumpable(java.lang.Object)">isDumpable</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>QueuedThreadPool</h4>
<pre>public&nbsp;QueuedThreadPool()</pre>
</li>
</ul>
<a id="&lt;init&gt;(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>QueuedThreadPool</h4>
<pre>public&nbsp;QueuedThreadPool&#8203;(<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("maxThreads")
int&nbsp;maxThreads)</pre>
</li>
</ul>
<a id="&lt;init&gt;(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>QueuedThreadPool</h4>
<pre>public&nbsp;QueuedThreadPool&#8203;(<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("maxThreads")
int&nbsp;maxThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("minThreads")
int&nbsp;minThreads)</pre>
</li>
</ul>
<a id="&lt;init&gt;(int,int,java.util.concurrent.BlockingQueue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>QueuedThreadPool</h4>
<pre>public&nbsp;QueuedThreadPool&#8203;(<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("maxThreads")
int&nbsp;maxThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("minThreads")
int&nbsp;minThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("queue")
java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;&nbsp;queue)</pre>
</li>
</ul>
<a id="&lt;init&gt;(int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>QueuedThreadPool</h4>
<pre>public&nbsp;QueuedThreadPool&#8203;(<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("maxThreads")
int&nbsp;maxThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("minThreads")
int&nbsp;minThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("idleTimeout")
int&nbsp;idleTimeout)</pre>
</li>
</ul>
<a id="&lt;init&gt;(int,int,int,java.util.concurrent.BlockingQueue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>QueuedThreadPool</h4>
<pre>public&nbsp;QueuedThreadPool&#8203;(<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("maxThreads")
int&nbsp;maxThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("minThreads")
int&nbsp;minThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("idleTimeout")
int&nbsp;idleTimeout,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("queue")
java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;&nbsp;queue)</pre>
</li>
</ul>
<a id="&lt;init&gt;(int,int,int,java.util.concurrent.BlockingQueue,java.lang.ThreadGroup)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>QueuedThreadPool</h4>
<pre>public&nbsp;QueuedThreadPool&#8203;(<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("maxThreads")
int&nbsp;maxThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("minThreads")
int&nbsp;minThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("idleTimeout")
int&nbsp;idleTimeout,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("queue")
java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;&nbsp;queue,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("threadGroup")
java.lang.ThreadGroup&nbsp;threadGroup)</pre>
</li>
</ul>
<a id="&lt;init&gt;(int,int,int,int,java.util.concurrent.BlockingQueue,java.lang.ThreadGroup)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>QueuedThreadPool</h4>
<pre>public&nbsp;QueuedThreadPool&#8203;(<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("maxThreads")
int&nbsp;maxThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("minThreads")
int&nbsp;minThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("idleTimeout")
int&nbsp;idleTimeout,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("reservedThreads")
int&nbsp;reservedThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("queue")
java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;&nbsp;queue,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("threadGroup")
java.lang.ThreadGroup&nbsp;threadGroup)</pre>
</li>
</ul>
<a id="&lt;init&gt;(int,int,int,int,java.util.concurrent.BlockingQueue,java.lang.ThreadGroup,java.util.concurrent.ThreadFactory)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>QueuedThreadPool</h4>
<pre>public&nbsp;QueuedThreadPool&#8203;(<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("maxThreads")
int&nbsp;maxThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("minThreads")
int&nbsp;minThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("idleTimeout")
int&nbsp;idleTimeout,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("reservedThreads")
int&nbsp;reservedThreads,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("queue")
java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;&nbsp;queue,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("threadGroup")
java.lang.ThreadGroup&nbsp;threadGroup,
<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("threadFactory")
java.util.concurrent.ThreadFactory&nbsp;threadFactory)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getThreadPoolBudget()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getThreadPoolBudget</h4>
<pre class="methodSignature">public&nbsp;<a href="ThreadPoolBudget.html" title="class in org.eclipse.jetty.util.thread">ThreadPoolBudget</a>&nbsp;getThreadPoolBudget()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ThreadPool.SizedThreadPool.html#getThreadPoolBudget()">getThreadPoolBudget</a></code>&nbsp;in interface&nbsp;<code><a href="ThreadPool.SizedThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool.SizedThreadPool</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a ThreadPoolBudget for this sized thread pool,
or null of no ThreadPoolBudget can be returned</dd>
</dl>
</li>
</ul>
<a id="setThreadPoolBudget(org.eclipse.jetty.util.thread.ThreadPoolBudget)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setThreadPoolBudget</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setThreadPoolBudget&#8203;(<a href="ThreadPoolBudget.html" title="class in org.eclipse.jetty.util.thread">ThreadPoolBudget</a>&nbsp;budget)</pre>
</li>
</ul>
<a id="setStopTimeout(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStopTimeout</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setStopTimeout&#8203;(long&nbsp;stopTimeout)</pre>
</li>
</ul>
<a id="getStopTimeout()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStopTimeout</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getStopTimeout()</pre>
</li>
</ul>
<a id="doStart()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doStart</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;doStart()
throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../component/ContainerLifeCycle.html#doStart()">ContainerLifeCycle</a></code></span></div>
<div class="block">Starts the managed lifecycle beans in the order they were added.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../component/ContainerLifeCycle.html#doStart()">doStart</a></code>&nbsp;in class&nbsp;<code><a href="../component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../component/AbstractLifeCycle.StopException.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.StopException</a></code> - If thrown, the lifecycle will immediately be stopped.</dd>
<dd><code>java.lang.Exception</code> - If there was a problem starting. Will cause a transition to FAILED state</dd>
</dl>
</li>
</ul>
<a id="doStop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doStop</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;doStop()
throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../component/ContainerLifeCycle.html#doStop()">ContainerLifeCycle</a></code></span></div>
<div class="block">Stops the managed lifecycle beans in the reverse order they were added.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../component/ContainerLifeCycle.html#doStop()">doStop</a></code>&nbsp;in class&nbsp;<code><a href="../component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - If there was a problem stopping. Will cause a transition to FAILED state</dd>
</dl>
</li>
</ul>
<a id="getIdleTimeout()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdleTimeout</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("maximum time a thread may be idle in ms")
public&nbsp;int&nbsp;getIdleTimeout()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum thread idle time in ms</dd>
</dl>
</li>
</ul>
<a id="setIdleTimeout(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdleTimeout</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setIdleTimeout&#8203;(int&nbsp;idleTimeout)</pre>
<div class="block"><p>Set the maximum thread idle time in ms.</p>
<p>Threads that are idle for longer than this period may be stopped.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>idleTimeout</code> - the maximum thread idle time in ms</dd>
</dl>
</li>
</ul>
<a id="getMaxThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("maximum number of threads in the pool")
public&nbsp;int&nbsp;getMaxThreads()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ThreadPool.SizedThreadPool.html#getMaxThreads()">getMaxThreads</a></code>&nbsp;in interface&nbsp;<code><a href="ThreadPool.SizedThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool.SizedThreadPool</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum number of threads</dd>
</dl>
</li>
</ul>
<a id="setMaxThreads(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxThreads</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setMaxThreads&#8203;(int&nbsp;maxThreads)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ThreadPool.SizedThreadPool.html#setMaxThreads(int)">setMaxThreads</a></code>&nbsp;in interface&nbsp;<code><a href="ThreadPool.SizedThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool.SizedThreadPool</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxThreads</code> - the maximum number of threads</dd>
</dl>
</li>
</ul>
<a id="getMinThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("minimum number of threads in the pool")
public&nbsp;int&nbsp;getMinThreads()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ThreadPool.SizedThreadPool.html#getMinThreads()">getMinThreads</a></code>&nbsp;in interface&nbsp;<code><a href="ThreadPool.SizedThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool.SizedThreadPool</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the minimum number of threads</dd>
</dl>
</li>
</ul>
<a id="setMinThreads(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMinThreads</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setMinThreads&#8203;(int&nbsp;minThreads)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ThreadPool.SizedThreadPool.html#setMinThreads(int)">setMinThreads</a></code>&nbsp;in interface&nbsp;<code><a href="ThreadPool.SizedThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool.SizedThreadPool</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>minThreads</code> - minimum number of threads</dd>
</dl>
</li>
</ul>
<a id="getReservedThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReservedThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("number of configured reserved threads or -1 for heuristic")
public&nbsp;int&nbsp;getReservedThreads()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of reserved threads or -1 for heuristically determined</dd>
</dl>
</li>
</ul>
<a id="setReservedThreads(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReservedThreads</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setReservedThreads&#8203;(int&nbsp;reservedThreads)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reservedThreads</code> - number of reserved threads or -1 for heuristically determined</dd>
</dl>
</li>
</ul>
<a id="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("name of the thread pool")
public&nbsp;java.lang.String&nbsp;getName()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of the this thread pool</dd>
</dl>
</li>
</ul>
<a id="setName(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setName&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block"><p>Sets the name of this thread pool, used as a prefix for the thread names.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the this thread pool</dd>
</dl>
</li>
</ul>
<a id="getThreadsPriority()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getThreadsPriority</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("priority of threads in the pool")
public&nbsp;int&nbsp;getThreadsPriority()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the priority of the pool threads</dd>
</dl>
</li>
</ul>
<a id="setThreadsPriority(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setThreadsPriority</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setThreadsPriority&#8203;(int&nbsp;priority)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>priority</code> - the priority of the pool threads</dd>
</dl>
</li>
</ul>
<a id="isDaemon()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDaemon</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("thread pool uses daemon threads")
public&nbsp;boolean&nbsp;isDaemon()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether to use daemon threads</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Thread.isDaemon()</code></dd>
</dl>
</li>
</ul>
<a id="setDaemon(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDaemon</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setDaemon&#8203;(boolean&nbsp;daemon)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>daemon</code> - whether to use daemon threads</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Thread.setDaemon(boolean)</code></dd>
</dl>
</li>
</ul>
<a id="isDetailedDump()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDetailedDump</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("reports additional details in the dump")
public&nbsp;boolean&nbsp;isDetailedDump()</pre>
</li>
</ul>
<a id="setDetailedDump(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDetailedDump</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setDetailedDump&#8203;(boolean&nbsp;detailedDump)</pre>
</li>
</ul>
<a id="getLowThreadsThreshold()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLowThreadsThreshold</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("threshold at which the pool is low on threads")
public&nbsp;int&nbsp;getLowThreadsThreshold()</pre>
</li>
</ul>
<a id="setLowThreadsThreshold(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLowThreadsThreshold</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setLowThreadsThreshold&#8203;(int&nbsp;lowThreadsThreshold)</pre>
</li>
</ul>
<a id="getQueueSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueueSize</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("size of the job queue")
public&nbsp;int&nbsp;getQueueSize()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of jobs in the queue waiting for a thread</dd>
</dl>
</li>
</ul>
<a id="getMaxReservedThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxReservedThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("maximum number (capacity) of reserved threads")
public&nbsp;int&nbsp;getMaxReservedThreads()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum number (capacity) of reserved threads</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ReservedThreadExecutor.html#getCapacity()"><code>ReservedThreadExecutor.getCapacity()</code></a></dd>
</dl>
</li>
</ul>
<a id="getAvailableReservedThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAvailableReservedThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("number of available reserved threads")
public&nbsp;int&nbsp;getAvailableReservedThreads()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of available reserved threads</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ReservedThreadExecutor.html#getAvailable()"><code>ReservedThreadExecutor.getAvailable()</code></a></dd>
</dl>
</li>
</ul>
<a id="getThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("number of threads in the pool")
public&nbsp;int&nbsp;getThreads()</pre>
<div class="block"><p>The <em>fundamental</em> value that represents the number of threads currently known by this thread pool.</p>
<p>This value includes threads that have been leased to internal components, idle threads, reserved threads
and threads that are executing transient jobs.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ThreadPool.html#getThreads()">getThreads</a></code>&nbsp;in interface&nbsp;<code><a href="ThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of threads currently known to the pool</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getReadyThreads()"><code>getReadyThreads()</code></a>,
<a href="#getLeasedThreads()"><code>getLeasedThreads()</code></a></dd>
</dl>
</li>
</ul>
<a id="getReadyThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadyThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("number of threads ready to execute transient jobs")
public&nbsp;int&nbsp;getReadyThreads()</pre>
<div class="block"><p>The <em>fundamental</em> value that represents the number of threads ready to execute transient jobs.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of threads ready to execute transient jobs</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getThreads()"><code>getThreads()</code></a>,
<a href="#getLeasedThreads()"><code>getLeasedThreads()</code></a>,
<a href="#getUtilizedThreads()"><code>getUtilizedThreads()</code></a></dd>
</dl>
</li>
</ul>
<a id="getLeasedThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLeasedThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("number of threads used by internal components")
public&nbsp;int&nbsp;getLeasedThreads()</pre>
<div class="block"><p>The <em>fundamental</em> value that represents the number of threads that are leased
to internal components, and therefore cannot be used to execute transient jobs.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of threads currently used by internal components</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getThreads()"><code>getThreads()</code></a>,
<a href="#getReadyThreads()"><code>getReadyThreads()</code></a></dd>
</dl>
</li>
</ul>
<a id="getMaxLeasedThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxLeasedThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("maximum number of threads leased to internal components")
public&nbsp;int&nbsp;getMaxLeasedThreads()</pre>
<div class="block"><p>The maximum number of threads that are leased to internal components,
as some component may allocate its threads lazily.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum number of threads leased by internal components</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getLeasedThreads()"><code>getLeasedThreads()</code></a></dd>
</dl>
</li>
</ul>
<a id="getIdleThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdleThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("number of idle threads but not reserved")
public&nbsp;int&nbsp;getIdleThreads()</pre>
<div class="block"><p>The number of idle threads, but without including reserved threads.</p>
<p>Prefer <a href="#getReadyThreads()"><code>getReadyThreads()</code></a> for a better representation of
"threads ready to execute transient jobs".</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ThreadPool.html#getIdleThreads()">getIdleThreads</a></code>&nbsp;in interface&nbsp;<code><a href="ThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of idle threads but not reserved</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getReadyThreads()"><code>getReadyThreads()</code></a></dd>
</dl>
</li>
</ul>
<a id="getBusyThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBusyThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("number of threads executing internal and transient jobs")
public&nbsp;int&nbsp;getBusyThreads()</pre>
<div class="block"><p>The number of threads executing internal and transient jobs.</p>
<p>Prefer <a href="#getUtilizedThreads()"><code>getUtilizedThreads()</code></a> for a better representation of
"threads executing transient jobs".</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of threads executing internal and transient jobs</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getUtilizedThreads()"><code>getUtilizedThreads()</code></a></dd>
</dl>
</li>
</ul>
<a id="getUtilizedThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUtilizedThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("number of threads executing transient jobs")
public&nbsp;int&nbsp;getUtilizedThreads()</pre>
<div class="block"><p>The number of threads executing transient jobs.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of threads executing transient jobs</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getReadyThreads()"><code>getReadyThreads()</code></a></dd>
</dl>
</li>
</ul>
<a id="getMaxAvailableThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxAvailableThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("maximum number of threads available to run transient jobs")
public&nbsp;int&nbsp;getMaxAvailableThreads()</pre>
<div class="block"><p>The maximum number of threads available to run transient jobs.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum number of threads available to run transient jobs</dd>
</dl>
</li>
</ul>
<a id="getUtilizationRate()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUtilizationRate</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("utilization rate of threads executing transient jobs")
public&nbsp;double&nbsp;getUtilizationRate()</pre>
<div class="block"><p>The rate between the number of <a href="#getUtilizedThreads()"><code>utilized threads</code></a>
and the maximum number of <a href="#getMaxAvailableThreads()"><code>utilizable threads</code></a>.</p>
<p>A value of <code>0.0D</code> means that the thread pool is not utilized, while a
value of <code>1.0D</code> means that the thread pool is fully utilized to execute
transient jobs.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the utilization rate of threads executing transient jobs</dd>
</dl>
</li>
</ul>
<a id="isLowOnThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLowOnThreads</h4>
<pre class="methodSignature"><a href="../annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>(<a href="../annotation/ManagedAttribute.html#value()">value</a>="thread pool is low on threads",
<a href="../annotation/ManagedAttribute.html#readonly()">readonly</a>=true)
public&nbsp;boolean&nbsp;isLowOnThreads()</pre>
<div class="block"><p>Returns whether this thread pool is low on threads.</p>
<p>The current formula is:</p>
<pre>
maxThreads - threads + readyThreads - queueSize &lt;= lowThreadsThreshold
</pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ThreadPool.html#isLowOnThreads()">isLowOnThreads</a></code>&nbsp;in interface&nbsp;<code><a href="ThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether the pool is low on threads</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getLowThreadsThreshold()"><code>getLowThreadsThreshold()</code></a></dd>
</dl>
</li>
</ul>
<a id="execute(java.lang.Runnable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;execute&#8203;(java.lang.Runnable&nbsp;job)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>execute</code>&nbsp;in interface&nbsp;<code>java.util.concurrent.Executor</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="TryExecutor.html#execute(java.lang.Runnable)">execute</a></code>&nbsp;in interface&nbsp;<code><a href="TryExecutor.html" title="interface in org.eclipse.jetty.util.thread">TryExecutor</a></code></dd>
</dl>
</li>
</ul>
<a id="tryExecute(java.lang.Runnable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tryExecute</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;tryExecute&#8203;(java.lang.Runnable&nbsp;task)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="TryExecutor.html#tryExecute(java.lang.Runnable)">TryExecutor</a></code></span></div>
<div class="block">Attempt to execute a task.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="TryExecutor.html#tryExecute(java.lang.Runnable)">tryExecute</a></code>&nbsp;in interface&nbsp;<code><a href="TryExecutor.html" title="interface in org.eclipse.jetty.util.thread">TryExecutor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>task</code> - The task to be executed</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True IFF the task has been given directly to a thread to execute. The task cannot be queued pending the later availability of a Thread.</dd>
</dl>
</li>
</ul>
<a id="join()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>join</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;join()
throws java.lang.InterruptedException</pre>
<div class="block">Blocks until the thread pool is <a href="../component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component"><code>LifeCycle</code></a> stopped.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ThreadPool.html#join()">join</a></code>&nbsp;in interface&nbsp;<code><a href="ThreadPool.html" title="interface in org.eclipse.jetty.util.thread">ThreadPool</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.InterruptedException</code> - if thread was interrupted</dd>
</dl>
</li>
</ul>
<a id="startThread()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startThread</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;startThread()</pre>
</li>
</ul>
<a id="newThread(java.lang.Runnable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newThread</h4>
<pre class="methodSignature">public&nbsp;java.lang.Thread&nbsp;newThread&#8203;(java.lang.Runnable&nbsp;runnable)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>newThread</code>&nbsp;in interface&nbsp;<code>java.util.concurrent.ThreadFactory</code></dd>
</dl>
</li>
</ul>
<a id="removeThread(java.lang.Thread)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeThread</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;removeThread&#8203;(java.lang.Thread&nbsp;thread)</pre>
</li>
</ul>
<a id="dump(java.lang.Appendable,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dump</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;dump&#8203;(java.lang.Appendable&nbsp;out,
java.lang.String&nbsp;indent)
throws java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../component/Dumpable.html#dump(java.lang.Appendable,java.lang.String)">Dumpable</a></code></span></div>
<div class="block">Dump this object (and children) into an Appendable using the provided indent after any new lines.
The indent should not be applied to the first object dumped.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../component/Dumpable.html#dump(java.lang.Appendable,java.lang.String)">dump</a></code>&nbsp;in interface&nbsp;<code><a href="../component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../component/ContainerLifeCycle.html#dump(java.lang.Appendable,java.lang.String)">dump</a></code>&nbsp;in class&nbsp;<code><a href="../component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>out</code> - The appendable to dump to</dd>
<dd><code>indent</code> - The indent to apply after any new lines.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to write to Appendable</dd>
</dl>
</li>
</ul>
<a id="runJob(java.lang.Runnable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>runJob</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;runJob&#8203;(java.lang.Runnable&nbsp;job)</pre>
<div class="block"><p>Runs the given job in the <code>current thread</code>.</p>
<p>Subclasses may override to perform pre/post actions before/after the job is run.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>job</code> - the job to run</dd>
</dl>
</li>
</ul>
<a id="getQueue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueue</h4>
<pre class="methodSignature">protected&nbsp;java.util.concurrent.BlockingQueue&lt;java.lang.Runnable&gt;&nbsp;getQueue()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the job queue</dd>
</dl>
</li>
</ul>
<a id="interruptThread(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interruptThread</h4>
<pre class="methodSignature"><a href="../annotation/ManagedOperation.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedOperation</a>("interrupts a pool thread")
public&nbsp;boolean&nbsp;interruptThread&#8203;(<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("id")
long&nbsp;id)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - the thread ID to interrupt.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the thread was found and interrupted.</dd>
</dl>
</li>
</ul>
<a id="dumpThread(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dumpThread</h4>
<pre class="methodSignature"><a href="../annotation/ManagedOperation.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedOperation</a>("dumps a pool thread stack")
public&nbsp;java.lang.String&nbsp;dumpThread&#8203;(<a href="../annotation/Name.html" title="annotation in org.eclipse.jetty.util.annotation">@Name</a>("id")
long&nbsp;id)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - the thread ID to interrupt.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the stack frames dump</dd>
</dl>
</li>
</ul>
<a id="toString()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../component/AbstractLifeCycle.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="../component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/QueuedThreadPool.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 1995&#x2013;2021 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>