63 |
|
* <dt> On-demand construction |
64 |
|
* |
65 |
|
* <dd> By default, even core threads are initially created and |
66 |
< |
* started only when needed by new tasks, but this can be overridden |
66 |
> |
* started only when new tasks arrive, but this can be overridden |
67 |
|
* dynamically using method {@link |
68 |
|
* ThreadPoolExecutor#prestartCoreThread} or |
69 |
|
* {@link ThreadPoolExecutor#prestartAllCoreThreads}. |
138 |
|
* |
139 |
|
* <li><em> Unbounded queues.</em> Using an unbounded queue (for |
140 |
|
* example a {@link LinkedBlockingQueue} without a predefined |
141 |
< |
* capacity) will cause new tasks to be queued in cases where all |
141 |
> |
* capacity) will cause new tasks to wait in the queue when all |
142 |
|
* corePoolSize threads are busy. Thus, no more than corePoolSize |
143 |
|
* threads will ever be created. (And the value of the maximumPoolSize |
144 |
|
* therefore doesn't have any effect.) This may be appropriate when |
1461 |
|
* Method invoked upon completion of execution of the given |
1462 |
|
* Runnable. This method is invoked by the thread that executed |
1463 |
|
* the task. If non-null, the Throwable is the uncaught |
1464 |
< |
* RuntimeException that caused execution to terminate |
1465 |
< |
* abruptly. This implementation does nothing, but may be |
1464 |
> |
* <tt>RuntimeException</tt> or <tt>Error</tt> that caused |
1465 |
> |
* execution to terminate abruptly. |
1466 |
> |
* |
1467 |
> |
* <p><b>Note:</b> When actions are enclosed in tasks (such as |
1468 |
> |
* {@link FutureTask}) either explicitly or via methods such as |
1469 |
> |
* <tt>submit</tt>, these task objects catch and maintain |
1470 |
> |
* computational exceptions, and so they do not cause abrupt |
1471 |
> |
* termination, and the internal exceptions are <em>not</em> not |
1472 |
> |
* passed to this method. |
1473 |
> |
* |
1474 |
> |
* <p>This implementation does nothing, but may be |
1475 |
|
* customized in subclasses. Note: To properly nest multiple |
1476 |
|
* overridings, subclasses should generally invoke |
1477 |
|
* <tt>super.afterExecute</tt> at the beginning of this method. |