229 |
|
* supplied methods, {@link ThreadPoolExecutor#remove} and {@link |
230 |
|
* ThreadPoolExecutor#purge} are available to assist in storage |
231 |
|
* reclamation when large numbers of queued tasks become |
232 |
< |
* cancelled.</dd> </dl> |
232 |
> |
* cancelled.</dd> |
233 |
> |
* |
234 |
> |
* <dt>Finalization</dt> |
235 |
> |
* |
236 |
> |
* <dd> A pool that is no longer referenced in a program <em>AND</em> |
237 |
> |
* has no remaining threads will be <tt>shutdown</tt> |
238 |
> |
* automatically. If you would like to ensure that unreferenced pools |
239 |
> |
* are reclaimed even if users forget to call {@link |
240 |
> |
* ThreadPoolExecutor#shutdown}, then you must arrange that unused |
241 |
> |
* threads eventually die, by setting appropriate keep-alive times, |
242 |
> |
* using a lower bound of zero core threads and/or setting {@link |
243 |
> |
* ThreadPoolExecutor#allowCoreThreadTimeOut}. </dd> </dl> |
244 |
|
* |
245 |
|
* <p> <b>Extension example</b>. Most extensions of this class |
246 |
|
* override one or more of the protected hook methods. For example, |