<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>UnorderedThreadPoolExecutor xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> *    <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.filter.executor;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.HashSet;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.Executors;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.LinkedBlockingQueue;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.RejectedExecutionHandler;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.ThreadFactory;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.ThreadPoolExecutor;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.TimeUnit;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.atomic.AtomicInteger;
<a name="33" href="#33">33</a>  
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoEvent;
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment">/**</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * A {@link ThreadPoolExecutor} that does not maintain the order of {@link IoEvent}s.</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * This means more than one event handler methods can be invoked at the same</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * time with mixed order.  For example, let's assume that messageReceived, messageSent,</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * and sessionClosed events are fired.</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * &lt;ul&gt;</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;All event handler methods can be called simultaneously.</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> *     (e.g. messageReceived and messageSent can be invoked at the same time.)&lt;/li&gt;</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * &lt;li&gt;The event order can be mixed up.</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> *     (e.g. sessionClosed or messageSent can be invoked before messageReceived</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> *           is invoked.)&lt;/li&gt;</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * &lt;/ul&gt;</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * If you need to maintain the order of events per session, please use</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * {@link OrderedThreadPoolExecutor}.</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> *</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> * @version $Rev: 671827 $, $Date: 2008-06-26 10:49:48 +0200 (jeu, 26 jun 2008) $</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> */</em>
<a name="54" href="#54">54</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">UnorderedThreadPoolExecutor</a> <strong class="jxr_keyword">extends</strong> ThreadPoolExecutor {
<a name="55" href="#55">55</a>  
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Runnable EXIT_SIGNAL = <strong class="jxr_keyword">new</strong> Runnable() {
<a name="57" href="#57">57</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a name="58" href="#58">58</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> Error(
<a name="59" href="#59">59</a>                      <span class="jxr_string">"This method shouldn't be called. "</span> +
<a name="60" href="#60">60</a>                      <span class="jxr_string">"Please file a bug report."</span>);
<a name="61" href="#61">61</a>          }
<a name="62" href="#62">62</a>      };
<a name="63" href="#63">63</a>  
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Set&lt;Worker&gt; workers = <strong class="jxr_keyword">new</strong> HashSet&lt;Worker&gt;();
<a name="65" href="#65">65</a>  
<a name="66" href="#66">66</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">int</strong> corePoolSize;
<a name="67" href="#67">67</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">int</strong> maximumPoolSize;
<a name="68" href="#68">68</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">int</strong> largestPoolSize;
<a name="69" href="#69">69</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> AtomicInteger idleWorkers = <strong class="jxr_keyword">new</strong> AtomicInteger();
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> completedTaskCount;
<a name="72" href="#72">72</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> shutdown;
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/filter/executor/IoEventQueueHandler.html">IoEventQueueHandler</a> queueHandler;
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">UnorderedThreadPoolExecutor</a>() {
<a name="77" href="#77">77</a>          <strong class="jxr_keyword">this</strong>(16);
<a name="78" href="#78">78</a>      }
<a name="79" href="#79">79</a>  
<a name="80" href="#80">80</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">UnorderedThreadPoolExecutor</a>(<strong class="jxr_keyword">int</strong> maximumPoolSize) {
<a name="81" href="#81">81</a>          <strong class="jxr_keyword">this</strong>(0, maximumPoolSize);
<a name="82" href="#82">82</a>      }
<a name="83" href="#83">83</a>  
<a name="84" href="#84">84</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">UnorderedThreadPoolExecutor</a>(<strong class="jxr_keyword">int</strong> corePoolSize, <strong class="jxr_keyword">int</strong> maximumPoolSize) {
<a name="85" href="#85">85</a>          <strong class="jxr_keyword">this</strong>(corePoolSize, maximumPoolSize, 30, TimeUnit.SECONDS);
<a name="86" href="#86">86</a>      }
<a name="87" href="#87">87</a>  
<a name="88" href="#88">88</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">UnorderedThreadPoolExecutor</a>(
<a name="89" href="#89">89</a>              <strong class="jxr_keyword">int</strong> corePoolSize, <strong class="jxr_keyword">int</strong> maximumPoolSize, <strong class="jxr_keyword">long</strong> keepAliveTime, TimeUnit unit) {
<a name="90" href="#90">90</a>          <strong class="jxr_keyword">this</strong>(corePoolSize, maximumPoolSize, keepAliveTime, unit, Executors.defaultThreadFactory());
<a name="91" href="#91">91</a>      }
<a name="92" href="#92">92</a>  
<a name="93" href="#93">93</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">UnorderedThreadPoolExecutor</a>(
<a name="94" href="#94">94</a>              <strong class="jxr_keyword">int</strong> corePoolSize, <strong class="jxr_keyword">int</strong> maximumPoolSize,
<a name="95" href="#95">95</a>              <strong class="jxr_keyword">long</strong> keepAliveTime, TimeUnit unit,
<a name="96" href="#96">96</a>              <a href="../../../../../org/apache/mina/filter/executor/IoEventQueueHandler.html">IoEventQueueHandler</a> queueHandler) {
<a name="97" href="#97">97</a>          <strong class="jxr_keyword">this</strong>(corePoolSize, maximumPoolSize, keepAliveTime, unit, Executors.defaultThreadFactory(), queueHandler);
<a name="98" href="#98">98</a>      }
<a name="99" href="#99">99</a>  
<a name="100" href="#100">100</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">UnorderedThreadPoolExecutor</a>(
<a name="101" href="#101">101</a>             <strong class="jxr_keyword">int</strong> corePoolSize, <strong class="jxr_keyword">int</strong> maximumPoolSize,
<a name="102" href="#102">102</a>             <strong class="jxr_keyword">long</strong> keepAliveTime, TimeUnit unit,
<a name="103" href="#103">103</a>             ThreadFactory threadFactory) {
<a name="104" href="#104">104</a>         <strong class="jxr_keyword">this</strong>(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory, <strong class="jxr_keyword">null</strong>);
<a name="105" href="#105">105</a>     }
<a name="106" href="#106">106</a> 
<a name="107" href="#107">107</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">UnorderedThreadPoolExecutor</a>(
<a name="108" href="#108">108</a>             <strong class="jxr_keyword">int</strong> corePoolSize, <strong class="jxr_keyword">int</strong> maximumPoolSize,
<a name="109" href="#109">109</a>             <strong class="jxr_keyword">long</strong> keepAliveTime, TimeUnit unit,
<a name="110" href="#110">110</a>             ThreadFactory threadFactory, <a href="../../../../../org/apache/mina/filter/executor/IoEventQueueHandler.html">IoEventQueueHandler</a> queueHandler) {
<a name="111" href="#111">111</a>         <strong class="jxr_keyword">super</strong>(0, 1, keepAliveTime, unit, <strong class="jxr_keyword">new</strong> LinkedBlockingQueue&lt;Runnable&gt;(), threadFactory, <strong class="jxr_keyword">new</strong> AbortPolicy());
<a name="112" href="#112">112</a>         <strong class="jxr_keyword">if</strong> (corePoolSize &lt; 0) {
<a name="113" href="#113">113</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"corePoolSize: "</span> + corePoolSize);
<a name="114" href="#114">114</a>         }
<a name="115" href="#115">115</a> 
<a name="116" href="#116">116</a>         <strong class="jxr_keyword">if</strong> (maximumPoolSize == 0 || maximumPoolSize &lt; corePoolSize) {
<a name="117" href="#117">117</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"maximumPoolSize: "</span> + maximumPoolSize);
<a name="118" href="#118">118</a>         }
<a name="119" href="#119">119</a> 
<a name="120" href="#120">120</a>         <strong class="jxr_keyword">if</strong> (queueHandler == <strong class="jxr_keyword">null</strong>) {
<a name="121" href="#121">121</a>             queueHandler = IoEventQueueHandler.NOOP;
<a name="122" href="#122">122</a>         }
<a name="123" href="#123">123</a> 
<a name="124" href="#124">124</a>         <strong class="jxr_keyword">this</strong>.corePoolSize = corePoolSize;
<a name="125" href="#125">125</a>         <strong class="jxr_keyword">this</strong>.maximumPoolSize = maximumPoolSize;
<a name="126" href="#126">126</a>         <strong class="jxr_keyword">this</strong>.queueHandler = queueHandler;
<a name="127" href="#127">127</a>     }
<a name="128" href="#128">128</a> 
<a name="129" href="#129">129</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/filter/executor/IoEventQueueHandler.html">IoEventQueueHandler</a> getQueueHandler() {
<a name="130" href="#130">130</a>         <strong class="jxr_keyword">return</strong> queueHandler;
<a name="131" href="#131">131</a>     }
<a name="132" href="#132">132</a> 
<a name="133" href="#133">133</a>     @Override
<a name="134" href="#134">134</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRejectedExecutionHandler(RejectedExecutionHandler handler) {
<a name="135" href="#135">135</a>         <em class="jxr_comment">// Ignore the request.  It must always be AbortPolicy.</em>
<a name="136" href="#136">136</a>     }
<a name="137" href="#137">137</a> 
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addWorker() {
<a name="139" href="#139">139</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="140" href="#140">140</a>             <strong class="jxr_keyword">if</strong> (workers.size() &gt;= maximumPoolSize) {
<a name="141" href="#141">141</a>                 <strong class="jxr_keyword">return</strong>;
<a name="142" href="#142">142</a>             }
<a name="143" href="#143">143</a> 
<a name="144" href="#144">144</a>             <a href="../../../../../org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">Worker</a> worker = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">Worker</a>();
<a name="145" href="#145">145</a>             Thread thread = getThreadFactory().newThread(worker);
<a name="146" href="#146">146</a>             idleWorkers.incrementAndGet();
<a name="147" href="#147">147</a>             thread.start();
<a name="148" href="#148">148</a>             workers.add(worker);
<a name="149" href="#149">149</a> 
<a name="150" href="#150">150</a>             <strong class="jxr_keyword">if</strong> (workers.size() &gt; largestPoolSize) {
<a name="151" href="#151">151</a>                 largestPoolSize = workers.size();
<a name="152" href="#152">152</a>             }
<a name="153" href="#153">153</a>         }
<a name="154" href="#154">154</a>     }
<a name="155" href="#155">155</a> 
<a name="156" href="#156">156</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addWorkerIfNecessary() {
<a name="157" href="#157">157</a>         <strong class="jxr_keyword">if</strong> (idleWorkers.get() == 0) {
<a name="158" href="#158">158</a>             <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="159" href="#159">159</a>                 <strong class="jxr_keyword">if</strong> (workers.isEmpty() || idleWorkers.get() == 0) {
<a name="160" href="#160">160</a>                     addWorker();
<a name="161" href="#161">161</a>                 }
<a name="162" href="#162">162</a>             }
<a name="163" href="#163">163</a>         }
<a name="164" href="#164">164</a>     }
<a name="165" href="#165">165</a> 
<a name="166" href="#166">166</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> removeWorker() {
<a name="167" href="#167">167</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="168" href="#168">168</a>             <strong class="jxr_keyword">if</strong> (workers.size() &lt;= corePoolSize) {
<a name="169" href="#169">169</a>                 <strong class="jxr_keyword">return</strong>;
<a name="170" href="#170">170</a>             }
<a name="171" href="#171">171</a>             getQueue().offer(EXIT_SIGNAL);
<a name="172" href="#172">172</a>         }
<a name="173" href="#173">173</a>     }
<a name="174" href="#174">174</a> 
<a name="175" href="#175">175</a>     @Override
<a name="176" href="#176">176</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getMaximumPoolSize() {
<a name="177" href="#177">177</a>         <strong class="jxr_keyword">return</strong> maximumPoolSize;
<a name="178" href="#178">178</a>     }
<a name="179" href="#179">179</a> 
<a name="180" href="#180">180</a>     @Override
<a name="181" href="#181">181</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMaximumPoolSize(<strong class="jxr_keyword">int</strong> maximumPoolSize) {
<a name="182" href="#182">182</a>         <strong class="jxr_keyword">if</strong> (maximumPoolSize &lt;= 0 || maximumPoolSize &lt; corePoolSize) {
<a name="183" href="#183">183</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"maximumPoolSize: "</span>
<a name="184" href="#184">184</a>                     + maximumPoolSize);
<a name="185" href="#185">185</a>         }
<a name="186" href="#186">186</a> 
<a name="187" href="#187">187</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="188" href="#188">188</a>             <strong class="jxr_keyword">this</strong>.maximumPoolSize = maximumPoolSize;
<a name="189" href="#189">189</a>             <strong class="jxr_keyword">int</strong> difference = workers.size() - maximumPoolSize;
<a name="190" href="#190">190</a>             <strong class="jxr_keyword">while</strong> (difference &gt; 0) {
<a name="191" href="#191">191</a>                 removeWorker();
<a name="192" href="#192">192</a>                 --difference;
<a name="193" href="#193">193</a>             }
<a name="194" href="#194">194</a>         }
<a name="195" href="#195">195</a>     }
<a name="196" href="#196">196</a> 
<a name="197" href="#197">197</a>     @Override
<a name="198" href="#198">198</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> awaitTermination(<strong class="jxr_keyword">long</strong> timeout, TimeUnit unit)
<a name="199" href="#199">199</a>             <strong class="jxr_keyword">throws</strong> InterruptedException {
<a name="200" href="#200">200</a> 
<a name="201" href="#201">201</a>         <strong class="jxr_keyword">long</strong> deadline = System.currentTimeMillis() + unit.toMillis(timeout);
<a name="202" href="#202">202</a> 
<a name="203" href="#203">203</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="204" href="#204">204</a>             <strong class="jxr_keyword">while</strong> (!isTerminated()) {
<a name="205" href="#205">205</a>                 <strong class="jxr_keyword">long</strong> waitTime = deadline - System.currentTimeMillis();
<a name="206" href="#206">206</a>                 <strong class="jxr_keyword">if</strong> (waitTime &lt;= 0) {
<a name="207" href="#207">207</a>                     <strong class="jxr_keyword">break</strong>;
<a name="208" href="#208">208</a>                 }
<a name="209" href="#209">209</a> 
<a name="210" href="#210">210</a>                 workers.wait(waitTime);
<a name="211" href="#211">211</a>             }
<a name="212" href="#212">212</a>         }
<a name="213" href="#213">213</a>         <strong class="jxr_keyword">return</strong> isTerminated();
<a name="214" href="#214">214</a>     }
<a name="215" href="#215">215</a> 
<a name="216" href="#216">216</a>     @Override
<a name="217" href="#217">217</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isShutdown() {
<a name="218" href="#218">218</a>         <strong class="jxr_keyword">return</strong> shutdown;
<a name="219" href="#219">219</a>     }
<a name="220" href="#220">220</a> 
<a name="221" href="#221">221</a>     @Override
<a name="222" href="#222">222</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isTerminated() {
<a name="223" href="#223">223</a>         <strong class="jxr_keyword">if</strong> (!shutdown) {
<a name="224" href="#224">224</a>             <strong class="jxr_keyword">return</strong> false;
<a name="225" href="#225">225</a>         }
<a name="226" href="#226">226</a> 
<a name="227" href="#227">227</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="228" href="#228">228</a>             <strong class="jxr_keyword">return</strong> workers.isEmpty();
<a name="229" href="#229">229</a>         }
<a name="230" href="#230">230</a>     }
<a name="231" href="#231">231</a> 
<a name="232" href="#232">232</a>     @Override
<a name="233" href="#233">233</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> shutdown() {
<a name="234" href="#234">234</a>         <strong class="jxr_keyword">if</strong> (shutdown) {
<a name="235" href="#235">235</a>             <strong class="jxr_keyword">return</strong>;
<a name="236" href="#236">236</a>         }
<a name="237" href="#237">237</a> 
<a name="238" href="#238">238</a>         shutdown = <strong class="jxr_keyword">true</strong>;
<a name="239" href="#239">239</a> 
<a name="240" href="#240">240</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="241" href="#241">241</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = workers.size(); i &gt; 0; i --) {
<a name="242" href="#242">242</a>                 getQueue().offer(EXIT_SIGNAL);
<a name="243" href="#243">243</a>             }
<a name="244" href="#244">244</a>         }
<a name="245" href="#245">245</a>     }
<a name="246" href="#246">246</a> 
<a name="247" href="#247">247</a>     @Override
<a name="248" href="#248">248</a>     <strong class="jxr_keyword">public</strong> List&lt;Runnable&gt; shutdownNow() {
<a name="249" href="#249">249</a>         shutdown();
<a name="250" href="#250">250</a> 
<a name="251" href="#251">251</a>         List&lt;Runnable&gt; answer = <strong class="jxr_keyword">new</strong> ArrayList&lt;Runnable&gt;();
<a name="252" href="#252">252</a>         Runnable task;
<a name="253" href="#253">253</a>         <strong class="jxr_keyword">while</strong> ((task = getQueue().poll()) != <strong class="jxr_keyword">null</strong>) {
<a name="254" href="#254">254</a>             <strong class="jxr_keyword">if</strong> (task == EXIT_SIGNAL) {
<a name="255" href="#255">255</a>                 getQueue().offer(EXIT_SIGNAL);
<a name="256" href="#256">256</a>                 Thread.yield(); <em class="jxr_comment">// Let others take the signal.</em>
<a name="257" href="#257">257</a>                 <strong class="jxr_keyword">continue</strong>;
<a name="258" href="#258">258</a>             }
<a name="259" href="#259">259</a> 
<a name="260" href="#260">260</a>             getQueueHandler().polled(<strong class="jxr_keyword">this</strong>, (IoEvent) task);
<a name="261" href="#261">261</a>             answer.add(task);
<a name="262" href="#262">262</a>         }
<a name="263" href="#263">263</a> 
<a name="264" href="#264">264</a>         <strong class="jxr_keyword">return</strong> answer;
<a name="265" href="#265">265</a>     }
<a name="266" href="#266">266</a> 
<a name="267" href="#267">267</a>     @Override
<a name="268" href="#268">268</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute(Runnable task) {
<a name="269" href="#269">269</a>         <strong class="jxr_keyword">if</strong> (shutdown) {
<a name="270" href="#270">270</a>             rejectTask(task);
<a name="271" href="#271">271</a>         }
<a name="272" href="#272">272</a> 
<a name="273" href="#273">273</a>         checkTaskType(task);
<a name="274" href="#274">274</a> 
<a name="275" href="#275">275</a>         <a href="../../../../../org/apache/mina/core/session/IoEvent.html">IoEvent</a> e = (IoEvent) task;
<a name="276" href="#276">276</a>         <strong class="jxr_keyword">boolean</strong> offeredEvent = queueHandler.accept(<strong class="jxr_keyword">this</strong>, e);
<a name="277" href="#277">277</a>         <strong class="jxr_keyword">if</strong> (offeredEvent) {
<a name="278" href="#278">278</a>             getQueue().offer(e);
<a name="279" href="#279">279</a>         }
<a name="280" href="#280">280</a> 
<a name="281" href="#281">281</a>         addWorkerIfNecessary();
<a name="282" href="#282">282</a> 
<a name="283" href="#283">283</a>         <strong class="jxr_keyword">if</strong> (offeredEvent) {
<a name="284" href="#284">284</a>             queueHandler.offered(<strong class="jxr_keyword">this</strong>, e);
<a name="285" href="#285">285</a>         }
<a name="286" href="#286">286</a>     }
<a name="287" href="#287">287</a> 
<a name="288" href="#288">288</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> rejectTask(Runnable task) {
<a name="289" href="#289">289</a>         getRejectedExecutionHandler().rejectedExecution(task, <strong class="jxr_keyword">this</strong>);
<a name="290" href="#290">290</a>     }
<a name="291" href="#291">291</a> 
<a name="292" href="#292">292</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkTaskType(Runnable task) {
<a name="293" href="#293">293</a>         <strong class="jxr_keyword">if</strong> (!(task instanceof IoEvent)) {
<a name="294" href="#294">294</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"task must be an IoEvent or its subclass."</span>);
<a name="295" href="#295">295</a>         }
<a name="296" href="#296">296</a>     }
<a name="297" href="#297">297</a> 
<a name="298" href="#298">298</a>     @Override
<a name="299" href="#299">299</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getActiveCount() {
<a name="300" href="#300">300</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="301" href="#301">301</a>             <strong class="jxr_keyword">return</strong> workers.size() - idleWorkers.get();
<a name="302" href="#302">302</a>         }
<a name="303" href="#303">303</a>     }
<a name="304" href="#304">304</a> 
<a name="305" href="#305">305</a>     @Override
<a name="306" href="#306">306</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getCompletedTaskCount() {
<a name="307" href="#307">307</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="308" href="#308">308</a>             <strong class="jxr_keyword">long</strong> answer = completedTaskCount;
<a name="309" href="#309">309</a>             <strong class="jxr_keyword">for</strong> (Worker w: workers) {
<a name="310" href="#310">310</a>                 answer += w.completedTaskCount;
<a name="311" href="#311">311</a>             }
<a name="312" href="#312">312</a> 
<a name="313" href="#313">313</a>             <strong class="jxr_keyword">return</strong> answer;
<a name="314" href="#314">314</a>         }
<a name="315" href="#315">315</a>     }
<a name="316" href="#316">316</a> 
<a name="317" href="#317">317</a>     @Override
<a name="318" href="#318">318</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getLargestPoolSize() {
<a name="319" href="#319">319</a>         <strong class="jxr_keyword">return</strong> largestPoolSize;
<a name="320" href="#320">320</a>     }
<a name="321" href="#321">321</a> 
<a name="322" href="#322">322</a>     @Override
<a name="323" href="#323">323</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getPoolSize() {
<a name="324" href="#324">324</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="325" href="#325">325</a>             <strong class="jxr_keyword">return</strong> workers.size();
<a name="326" href="#326">326</a>         }
<a name="327" href="#327">327</a>     }
<a name="328" href="#328">328</a> 
<a name="329" href="#329">329</a>     @Override
<a name="330" href="#330">330</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getTaskCount() {
<a name="331" href="#331">331</a>         <strong class="jxr_keyword">return</strong> getCompletedTaskCount();
<a name="332" href="#332">332</a>     }
<a name="333" href="#333">333</a> 
<a name="334" href="#334">334</a>     @Override
<a name="335" href="#335">335</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isTerminating() {
<a name="336" href="#336">336</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="337" href="#337">337</a>             <strong class="jxr_keyword">return</strong> isShutdown() &amp;&amp; !isTerminated();
<a name="338" href="#338">338</a>         }
<a name="339" href="#339">339</a>     }
<a name="340" href="#340">340</a> 
<a name="341" href="#341">341</a>     @Override
<a name="342" href="#342">342</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> prestartAllCoreThreads() {
<a name="343" href="#343">343</a>         <strong class="jxr_keyword">int</strong> answer = 0;
<a name="344" href="#344">344</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="345" href="#345">345</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = corePoolSize - workers.size() ; i &gt; 0; i --) {
<a name="346" href="#346">346</a>                 addWorker();
<a name="347" href="#347">347</a>                 answer ++;
<a name="348" href="#348">348</a>             }
<a name="349" href="#349">349</a>         }
<a name="350" href="#350">350</a>         <strong class="jxr_keyword">return</strong> answer;
<a name="351" href="#351">351</a>     }
<a name="352" href="#352">352</a> 
<a name="353" href="#353">353</a>     @Override
<a name="354" href="#354">354</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> prestartCoreThread() {
<a name="355" href="#355">355</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="356" href="#356">356</a>             <strong class="jxr_keyword">if</strong> (workers.size() &lt; corePoolSize) {
<a name="357" href="#357">357</a>                 addWorker();
<a name="358" href="#358">358</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a name="359" href="#359">359</a>             } <strong class="jxr_keyword">else</strong> {
<a name="360" href="#360">360</a>                 <strong class="jxr_keyword">return</strong> false;
<a name="361" href="#361">361</a>             }
<a name="362" href="#362">362</a>         }
<a name="363" href="#363">363</a>     }
<a name="364" href="#364">364</a> 
<a name="365" href="#365">365</a>     @Override
<a name="366" href="#366">366</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> purge() {
<a name="367" href="#367">367</a>         <em class="jxr_comment">// Nothing to purge in this implementation.</em>
<a name="368" href="#368">368</a>     }
<a name="369" href="#369">369</a> 
<a name="370" href="#370">370</a>     @Override
<a name="371" href="#371">371</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> remove(Runnable task) {
<a name="372" href="#372">372</a>         <strong class="jxr_keyword">boolean</strong> removed = <strong class="jxr_keyword">super</strong>.remove(task);
<a name="373" href="#373">373</a>         <strong class="jxr_keyword">if</strong> (removed) {
<a name="374" href="#374">374</a>             getQueueHandler().polled(<strong class="jxr_keyword">this</strong>, (IoEvent) task);
<a name="375" href="#375">375</a>         }
<a name="376" href="#376">376</a>         <strong class="jxr_keyword">return</strong> removed;
<a name="377" href="#377">377</a>     }
<a name="378" href="#378">378</a> 
<a name="379" href="#379">379</a>     @Override
<a name="380" href="#380">380</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getCorePoolSize() {
<a name="381" href="#381">381</a>         <strong class="jxr_keyword">return</strong> corePoolSize;
<a name="382" href="#382">382</a>     }
<a name="383" href="#383">383</a> 
<a name="384" href="#384">384</a>     @Override
<a name="385" href="#385">385</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCorePoolSize(<strong class="jxr_keyword">int</strong> corePoolSize) {
<a name="386" href="#386">386</a>         <strong class="jxr_keyword">if</strong> (corePoolSize &lt; 0) {
<a name="387" href="#387">387</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"corePoolSize: "</span> + corePoolSize);
<a name="388" href="#388">388</a>         }
<a name="389" href="#389">389</a>         <strong class="jxr_keyword">if</strong> (corePoolSize &gt; maximumPoolSize) {
<a name="390" href="#390">390</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"corePoolSize exceeds maximumPoolSize"</span>);
<a name="391" href="#391">391</a>         }
<a name="392" href="#392">392</a> 
<a name="393" href="#393">393</a>         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="394" href="#394">394</a>             <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.corePoolSize &gt; corePoolSize) {
<a name="395" href="#395">395</a>                 <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = <strong class="jxr_keyword">this</strong>.corePoolSize - corePoolSize; i &gt; 0; i --) {
<a name="396" href="#396">396</a>                     removeWorker();
<a name="397" href="#397">397</a>                 }
<a name="398" href="#398">398</a>             }
<a name="399" href="#399">399</a>             <strong class="jxr_keyword">this</strong>.corePoolSize = corePoolSize;
<a name="400" href="#400">400</a>         }
<a name="401" href="#401">401</a>     }
<a name="402" href="#402">402</a> 
<a name="403" href="#403">403</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.html">Worker</a> implements Runnable {
<a name="404" href="#404">404</a> 
<a name="405" href="#405">405</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">long</strong> completedTaskCount;
<a name="406" href="#406">406</a>         <strong class="jxr_keyword">private</strong> Thread thread;
<a name="407" href="#407">407</a> 
<a name="408" href="#408">408</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a name="409" href="#409">409</a>             thread = Thread.currentThread();
<a name="410" href="#410">410</a> 
<a name="411" href="#411">411</a>             <strong class="jxr_keyword">try</strong> {
<a name="412" href="#412">412</a>                 <strong class="jxr_keyword">for</strong> (;;) {
<a name="413" href="#413">413</a>                     Runnable task = fetchTask();
<a name="414" href="#414">414</a> 
<a name="415" href="#415">415</a>                     idleWorkers.decrementAndGet();
<a name="416" href="#416">416</a> 
<a name="417" href="#417">417</a>                     <strong class="jxr_keyword">if</strong> (task == <strong class="jxr_keyword">null</strong>) {
<a name="418" href="#418">418</a>                         <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="419" href="#419">419</a>                             <strong class="jxr_keyword">if</strong> (workers.size() &gt; corePoolSize) {
<a name="420" href="#420">420</a>                                 <em class="jxr_comment">// Remove now to prevent duplicate exit.</em>
<a name="421" href="#421">421</a>                                 workers.remove(<strong class="jxr_keyword">this</strong>);
<a name="422" href="#422">422</a>                                 <strong class="jxr_keyword">break</strong>;
<a name="423" href="#423">423</a>                             }
<a name="424" href="#424">424</a>                         }
<a name="425" href="#425">425</a>                     }
<a name="426" href="#426">426</a> 
<a name="427" href="#427">427</a>                     <strong class="jxr_keyword">if</strong> (task == EXIT_SIGNAL) {
<a name="428" href="#428">428</a>                         <strong class="jxr_keyword">break</strong>;
<a name="429" href="#429">429</a>                     }
<a name="430" href="#430">430</a> 
<a name="431" href="#431">431</a>                     <strong class="jxr_keyword">try</strong> {
<a name="432" href="#432">432</a>                         <strong class="jxr_keyword">if</strong> (task != <strong class="jxr_keyword">null</strong>) {
<a name="433" href="#433">433</a>                             queueHandler.polled(UnorderedThreadPoolExecutor.<strong class="jxr_keyword">this</strong>, (IoEvent) task);
<a name="434" href="#434">434</a>                             runTask(task);
<a name="435" href="#435">435</a>                         }
<a name="436" href="#436">436</a>                     } <strong class="jxr_keyword">finally</strong> {
<a name="437" href="#437">437</a>                         idleWorkers.incrementAndGet();
<a name="438" href="#438">438</a>                     }
<a name="439" href="#439">439</a>                 }
<a name="440" href="#440">440</a>             } <strong class="jxr_keyword">finally</strong> {
<a name="441" href="#441">441</a>                 <strong class="jxr_keyword">synchronized</strong> (workers) {
<a name="442" href="#442">442</a>                     workers.remove(<strong class="jxr_keyword">this</strong>);
<a name="443" href="#443">443</a>                     UnorderedThreadPoolExecutor.<strong class="jxr_keyword">this</strong>.completedTaskCount += completedTaskCount;
<a name="444" href="#444">444</a>                     workers.notifyAll();
<a name="445" href="#445">445</a>                 }
<a name="446" href="#446">446</a>             }
<a name="447" href="#447">447</a>         }
<a name="448" href="#448">448</a> 
<a name="449" href="#449">449</a>         <strong class="jxr_keyword">private</strong> Runnable fetchTask() {
<a name="450" href="#450">450</a>             Runnable task = <strong class="jxr_keyword">null</strong>;
<a name="451" href="#451">451</a>             <strong class="jxr_keyword">long</strong> currentTime = System.currentTimeMillis();
<a name="452" href="#452">452</a>             <strong class="jxr_keyword">long</strong> deadline = currentTime + getKeepAliveTime(TimeUnit.MILLISECONDS);
<a name="453" href="#453">453</a>             <strong class="jxr_keyword">for</strong> (;;) {
<a name="454" href="#454">454</a>                 <strong class="jxr_keyword">try</strong> {
<a name="455" href="#455">455</a>                     <strong class="jxr_keyword">long</strong> waitTime = deadline - currentTime;
<a name="456" href="#456">456</a>                     <strong class="jxr_keyword">if</strong> (waitTime &lt;= 0) {
<a name="457" href="#457">457</a>                         <strong class="jxr_keyword">break</strong>;
<a name="458" href="#458">458</a>                     }
<a name="459" href="#459">459</a> 
<a name="460" href="#460">460</a>                     <strong class="jxr_keyword">try</strong> {
<a name="461" href="#461">461</a>                         task = getQueue().poll(waitTime, TimeUnit.MILLISECONDS);
<a name="462" href="#462">462</a>                         <strong class="jxr_keyword">break</strong>;
<a name="463" href="#463">463</a>                     } <strong class="jxr_keyword">finally</strong> {
<a name="464" href="#464">464</a>                         <strong class="jxr_keyword">if</strong> (task == <strong class="jxr_keyword">null</strong>) {
<a name="465" href="#465">465</a>                             currentTime = System.currentTimeMillis();
<a name="466" href="#466">466</a>                         }
<a name="467" href="#467">467</a>                     }
<a name="468" href="#468">468</a>                 } <strong class="jxr_keyword">catch</strong> (InterruptedException e) {
<a name="469" href="#469">469</a>                     <em class="jxr_comment">// Ignore.</em>
<a name="470" href="#470">470</a>                     <strong class="jxr_keyword">continue</strong>;
<a name="471" href="#471">471</a>                 }
<a name="472" href="#472">472</a>             }
<a name="473" href="#473">473</a>             <strong class="jxr_keyword">return</strong> task;
<a name="474" href="#474">474</a>         }
<a name="475" href="#475">475</a> 
<a name="476" href="#476">476</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> runTask(Runnable task) {
<a name="477" href="#477">477</a>             beforeExecute(thread, task);
<a name="478" href="#478">478</a>             <strong class="jxr_keyword">boolean</strong> ran = false;
<a name="479" href="#479">479</a>             <strong class="jxr_keyword">try</strong> {
<a name="480" href="#480">480</a>                 task.run();
<a name="481" href="#481">481</a>                 ran = <strong class="jxr_keyword">true</strong>;
<a name="482" href="#482">482</a>                 afterExecute(task, <strong class="jxr_keyword">null</strong>);
<a name="483" href="#483">483</a>                 completedTaskCount ++;
<a name="484" href="#484">484</a>             } <strong class="jxr_keyword">catch</strong> (RuntimeException e) {
<a name="485" href="#485">485</a>                 <strong class="jxr_keyword">if</strong> (!ran) {
<a name="486" href="#486">486</a>                     afterExecute(task, e);
<a name="487" href="#487">487</a>                 }
<a name="488" href="#488">488</a>                 <strong class="jxr_keyword">throw</strong> e;
<a name="489" href="#489">489</a>             }
<a name="490" href="#490">490</a>         }
<a name="491" href="#491">491</a>     }
<a name="492" href="#492">492</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

