--- jsr166/src/test/tck/ForkJoinPool8Test.java 2015/04/25 04:55:30 1.30 +++ jsr166/src/test/tck/ForkJoinPool8Test.java 2016/08/16 23:02:57 1.33 @@ -269,12 +269,12 @@ public class ForkJoinPool8Test extends J RecursiveAction a = new CheckedRecursiveAction() { protected void realCompute() { FibAction f = new FibAction(8); - final Thread myself = Thread.currentThread(); + final Thread currentThread = Thread.currentThread(); // test join() assertSame(f, f.fork()); - myself.interrupt(); - assertTrue(myself.isInterrupted()); + currentThread.interrupt(); + assertTrue(currentThread.isInterrupted()); assertNull(f.join()); Thread.interrupted(); assertEquals(21, f.result); @@ -283,8 +283,8 @@ public class ForkJoinPool8Test extends J f = new FibAction(8); f.cancel(true); assertSame(f, f.fork()); - myself.interrupt(); - assertTrue(myself.isInterrupted()); + currentThread.interrupt(); + assertTrue(currentThread.isInterrupted()); try { f.join(); shouldThrow(); @@ -296,8 +296,8 @@ public class ForkJoinPool8Test extends J f = new FibAction(8); f.completeExceptionally(new FJException()); assertSame(f, f.fork()); - myself.interrupt(); - assertTrue(myself.isInterrupted()); + currentThread.interrupt(); + assertTrue(currentThread.isInterrupted()); try { f.join(); shouldThrow(); @@ -309,8 +309,8 @@ public class ForkJoinPool8Test extends J // test quietlyJoin() f = new FibAction(8); assertSame(f, f.fork()); - myself.interrupt(); - assertTrue(myself.isInterrupted()); + currentThread.interrupt(); + assertTrue(currentThread.isInterrupted()); f.quietlyJoin(); Thread.interrupted(); assertEquals(21, f.result); @@ -319,8 +319,8 @@ public class ForkJoinPool8Test extends J f = new FibAction(8); f.cancel(true); assertSame(f, f.fork()); - myself.interrupt(); - assertTrue(myself.isInterrupted()); + currentThread.interrupt(); + assertTrue(currentThread.isInterrupted()); f.quietlyJoin(); Thread.interrupted(); checkCancelled(f); @@ -328,8 +328,8 @@ public class ForkJoinPool8Test extends J f = new FibAction(8); f.completeExceptionally(new FJException()); assertSame(f, f.fork()); - myself.interrupt(); - assertTrue(myself.isInterrupted()); + currentThread.interrupt(); + assertTrue(currentThread.isInterrupted()); f.quietlyJoin(); Thread.interrupted(); checkCompletedAbnormally(f, f.getException()); @@ -1489,7 +1489,7 @@ public class ForkJoinPool8Test extends J */ public void testAwaitQuiescence1() throws Exception { final ForkJoinPool p = new ForkJoinPool(); - try { + try (PoolCleaner cleaner = cleaner(p)) { final long startTime = System.nanoTime(); assertTrue(p.isQuiescent()); ForkJoinTask a = new CheckedRecursiveAction() { @@ -1520,18 +1520,17 @@ public class ForkJoinPool8Test extends J assertFalse(p.isTerminated()); Thread.yield(); } - assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS); assertEquals(0, p.getQueuedTaskCount()); assertFalse(p.getAsyncMode()); - assertEquals(0, p.getActiveThreadCount()); - assertEquals(0, p.getQueuedTaskCount()); assertEquals(0, p.getQueuedSubmissionCount()); assertFalse(p.hasQueuedSubmissions()); + while (p.getActiveThreadCount() != 0 + && millisElapsedSince(startTime) < LONG_DELAY_MS) + Thread.yield(); assertFalse(p.isShutdown()); assertFalse(p.isTerminating()); assertFalse(p.isTerminated()); - } finally { - joinPool(p); + assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS); } } @@ -1549,7 +1548,7 @@ public class ForkJoinPool8Test extends J "java.util.concurrent.ForkJoinPool.common.parallelism"))) return; final ForkJoinPool p = new ForkJoinPool(); - try { + try (PoolCleaner cleaner = cleaner(p)) { assertTrue(p.isQuiescent()); final long startTime = System.nanoTime(); ForkJoinTask a = new CheckedRecursiveAction() { @@ -1570,20 +1569,19 @@ public class ForkJoinPool8Test extends J }}; p.execute(a); assertTrue(p.awaitQuiescence(LONG_DELAY_MS, MILLISECONDS)); - assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS); assertTrue(p.isQuiescent()); assertTrue(a.isDone()); assertEquals(0, p.getQueuedTaskCount()); assertFalse(p.getAsyncMode()); - assertEquals(0, p.getActiveThreadCount()); - assertEquals(0, p.getQueuedTaskCount()); assertEquals(0, p.getQueuedSubmissionCount()); assertFalse(p.hasQueuedSubmissions()); + while (p.getActiveThreadCount() != 0 + && millisElapsedSince(startTime) < LONG_DELAY_MS) + Thread.yield(); assertFalse(p.isShutdown()); assertFalse(p.isTerminating()); assertFalse(p.isTerminated()); - } finally { - joinPool(p); + assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS); } }