616 |
|
* still need to compensate for missing the fact that we should |
617 |
|
* have added a thread (because existing ones died) or that |
618 |
|
* shutdown occurred since entry into this method. So we recheck |
619 |
< |
* state to and if necessary (in ensureQueuedTaskHandled) roll |
620 |
< |
* back the enqueuing if shut down, or start a new thread if there |
621 |
< |
* are none. |
619 |
> |
* state and if necessary (in ensureQueuedTaskHandled) roll back |
620 |
> |
* the enqueuing if shut down, or start a new thread if there are |
621 |
> |
* none. |
622 |
|
* |
623 |
|
* 3. If we cannot queue task, then we try to add a new |
624 |
|
* thread. There's no guesswork here (addIfUnderMaximumPoolSize) |
1081 |
|
* security managers that allow checkAccess but then throw a |
1082 |
|
* SecurityException when interrupt() is invoked. In this |
1083 |
|
* third case, because we have already set runState, we can |
1084 |
< |
* only try to back out from the shutdown.as cleanly as |
1084 |
> |
* only try to back out from the shutdown as cleanly as |
1085 |
|
* possible. Some threads may have been killed but we remain |
1086 |
|
* in non-shutdown state (which may entail tryTerminate |
1087 |
|
* starting a thread to maintain liveness.) |