ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/concurrent/ExecutorCompletionService.java
(Generate patch)

Comparing jsr166/src/main/java/util/concurrent/ExecutorCompletionService.java (file contents):
Revision 1.22 by jsr166, Sun May 25 02:41:29 2014 UTC vs.
Revision 1.23 by jsr166, Sun Sep 20 05:53:29 2015 UTC

# Line 82 | Line 82 | public class ExecutorCompletionService<V
82      /**
83       * FutureTask extension to enqueue upon completion
84       */
85 <    private class QueueingFuture extends FutureTask<Void> {
86 <        QueueingFuture(RunnableFuture<V> task) {
85 >    private static class QueueingFuture<V> extends FutureTask<Void> {
86 >        QueueingFuture(RunnableFuture<V> task,
87 >                       BlockingQueue<Future<V>> completionQueue) {
88              super(task, null);
89              this.task = task;
90 +            this.completionQueue = completionQueue;
91          }
90        protected void done() { completionQueue.add(task); }
92          private final Future<V> task;
93 +        private final BlockingQueue<Future<V>> completionQueue;
94 +        protected void done() { completionQueue.add(task); }
95      }
96  
97      private RunnableFuture<V> newTaskFor(Callable<V> task) {
# Line 148 | Line 151 | public class ExecutorCompletionService<V
151      public Future<V> submit(Callable<V> task) {
152          if (task == null) throw new NullPointerException();
153          RunnableFuture<V> f = newTaskFor(task);
154 <        executor.execute(new QueueingFuture(f));
154 >        executor.execute(new QueueingFuture<V>(f, completionQueue));
155          return f;
156      }
157  
158      public Future<V> submit(Runnable task, V result) {
159          if (task == null) throw new NullPointerException();
160          RunnableFuture<V> f = newTaskFor(task, result);
161 <        executor.execute(new QueueingFuture(f));
161 >        executor.execute(new QueueingFuture<V>(f, completionQueue));
162          return f;
163      }
164  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines