美文网首页
Java-ExecutorCompletionService

Java-ExecutorCompletionService

作者: AlanSun2 | 来源:发表于2019-10-23 11:01 被阅读0次

    ExecutorCompletionService 的作用就是把线程池的执行结果放到一个已完成队列中,方便获取执行结果,其内部主要通过一个 FutureTask 的实现类 QueueingFuture 来实现这个功能:

        private class QueueingFuture extends FutureTask<Void> {
            QueueingFuture(RunnableFuture<V> task) {
                super(task, null);
                this.task = task;
            }
            protected void done() { completionQueue.add(task); }
            private final Future<V> task;
        }
    

    其中 done 方法是 FutureTask 方法的重写。FutureTask 在完成时会执行 done 方法,把 task 放入已完成队列 completionQueue。

    相关文章

      网友评论

          本文标题:Java-ExecutorCompletionService

          本文链接:https://www.haomeiwen.com/subject/tbihvctx.html