705 |
|
*/ |
706 |
|
final void workerTerminated(ForkJoinWorkerThread w) { |
707 |
|
forgetWorker(w); |
708 |
< |
decrementWorkerCounts(w.isTrimmed()? 0 : ONE_RUNNING, ONE_TOTAL); |
708 |
> |
decrementWorkerCounts(w.isTrimmed() ? 0 : ONE_RUNNING, ONE_TOTAL); |
709 |
|
while (w.stealCount != 0) // collect final count |
710 |
|
tryAccumulateStealCount(w); |
711 |
|
tryTerminate(false); |
791 |
|
if (tryAccumulateStealCount(w)) { // transfer while idle |
792 |
|
boolean untimed = (w.nextWaiter != 0L || |
793 |
|
(workerCounts & RUNNING_COUNT_MASK) <= 1); |
794 |
< |
long startTime = untimed? 0 : System.nanoTime(); |
794 |
> |
long startTime = untimed ? 0 : System.nanoTime(); |
795 |
|
Thread.interrupted(); // clear/ignore interrupt |
796 |
|
if (eventCount != ec || w.isTerminating()) |
797 |
|
break; // recheck after clear |