588 |
|
new CustomTPE(1, 1, |
589 |
|
LONG_DELAY_MS, MILLISECONDS, |
590 |
|
new ArrayBlockingQueue<Runnable>(10)); |
591 |
< |
final CountDownLatch threadStarted = new CountDownLatch(1); |
592 |
< |
final CountDownLatch done = new CountDownLatch(1); |
593 |
< |
try { |
591 |
> |
try (PoolCleaner cleaner = cleaner(p)) { |
592 |
> |
final CountDownLatch threadStarted = new CountDownLatch(1); |
593 |
> |
final CountDownLatch done = new CountDownLatch(1); |
594 |
|
assertFalse(p.isTerminating()); |
595 |
|
p.execute(new CheckedRunnable() { |
596 |
|
public void realRun() throws InterruptedException { |
601 |
|
assertTrue(threadStarted.await(MEDIUM_DELAY_MS, MILLISECONDS)); |
602 |
|
assertFalse(p.isTerminating()); |
603 |
|
done.countDown(); |
604 |
– |
} finally { |
604 |
|
try { p.shutdown(); } catch (SecurityException ok) { return; } |
605 |
+ |
assertTrue(p.awaitTermination(LONG_DELAY_MS, MILLISECONDS)); |
606 |
+ |
assertTrue(p.isTerminated()); |
607 |
+ |
assertFalse(p.isTerminating()); |
608 |
|
} |
607 |
– |
assertTrue(p.awaitTermination(LONG_DELAY_MS, MILLISECONDS)); |
608 |
– |
assertTrue(p.isTerminated()); |
609 |
– |
assertFalse(p.isTerminating()); |
609 |
|
} |
610 |
|
|
611 |
|
/** |