ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/JSR166TestCase.java
(Generate patch)

Comparing jsr166/src/test/tck/JSR166TestCase.java (file contents):
Revision 1.158 by jsr166, Sat Oct 3 23:17:03 2015 UTC vs.
Revision 1.160 by jsr166, Sun Oct 4 00:59:09 2015 UTC

# Line 770 | Line 770 | public class JSR166TestCase extends Test
770      /**
771       * Allows use of try-with-resources with per-test thread pools.
772       */
773 <    class PoolCloser<T extends ExecutorService>
774 <            implements AutoCloseable {
775 <        public final T pool;
776 <        public PoolCloser(T pool) { this.pool = pool; }
773 >    class PoolCleaner implements AutoCloseable {
774 >        private final ExecutorService pool;
775 >        public PoolCleaner(ExecutorService pool) { this.pool = pool; }
776          public void close() { joinPool(pool); }
777      }
778  
779 +    PoolCleaner cleaner(ExecutorService pool) {
780 +        return new PoolCleaner(pool);
781 +    }
782 +
783      /**
784       * Waits out termination of a thread pool or fails doing so.
785       */
# Line 809 | Line 812 | public class JSR166TestCase extends Test
812       * necessarily individually slow because they must block.
813       */
814      void testInParallel(Action ... actions) {
815 <        try (PoolCloser<ExecutorService> poolCloser
816 <             = new PoolCloser<>(Executors.newCachedThreadPool())) {
814 <            ExecutorService pool = poolCloser.pool;
815 >        ExecutorService pool = Executors.newCachedThreadPool();
816 >        try (PoolCleaner cleaner = cleaner(pool)) {
817              ArrayList<Future<?>> futures = new ArrayList<>(actions.length);
818              for (final Action action : actions)
819                  futures.add(pool.submit(new CheckedRunnable() {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines