-  
       - 所有已知实现类:
-  
         ExecutorCompletionService
 
 public interface CompletionService<V>一种服务,它将新异步任务的生成与已完成任务的结果的消耗分离。 生产者submit执行任务。 消费者take按照他们完成的顺序完成了任务并处理了他们的结果。 例如,CompletionService可用于管理异步I / O,其中执行读取的任务在程序或系统的一个部分中提交,然后在读取完成时在程序的不同部分中执行,可能在不同于他们要求的顺序。通常, CompletionService依赖于单独的Executor来实际执行任务,在这种情况下,CompletionService仅管理内部完成队列。ExecutorCompletionService类提供了此方法的实现。内存一致性效果:提交任务的前行动线程 CompletionServicehappen-before由该任务所采取的行动,进而发生,之前从以下相应的成功返回行动take()。- 从以下版本开始:
- 1.5
 
-  
        
       -  
             方法摘要所有方法 实例方法 抽象方法 变量和类型 方法 描述 Future<V>poll()检索并删除表示下一个已完成任务的Future,如果不存在,则null。Future<V>poll(long timeout, TimeUnit unit)检索并删除表示下一个已完成任务的Future,必要时等待指定的等待时间(如果尚未存在)。Future<V>submit(Runnable task, V result)提交Runnable任务以执行并返回表示该任务的Future。Future<V>submit(Callable<V> task)提交值返回任务以执行并返回表示任务的挂起结果的Future。Future<V>take()检索并删除表示下一个已完成任务的Future,如果还没有,则等待。
 
-  
             
-  
        
       -  
             方法详细信息-  submitFuture<V> submit(Callable<V> task) 提交值返回任务以执行并返回表示任务的挂起结果的Future。 完成后,可以采取或轮询此任务。- 参数
-  
              task- 要提交的任务
- 结果
- 表示未完成任务的Future
- 异常
-  
              RejectedExecutionException- 如果无法安排任务执行
-  
              NullPointerException- 如果任务为空
 
 -  submitFuture<V> submit(Runnable task, V result) 提交Runnable任务以执行并返回表示该任务的Future。 完成后,可以采取或轮询此任务。- 参数
-  
              task- 要提交的任务
-  
              result- 成功完成后返回的结果
- 结果
- 
               表示未完成任务的Future,其 
              get()方法将在完成时返回给定的结果值
- 异常
-  
              RejectedExecutionException- 如果无法安排任务执行
-  
              NullPointerException- 如果任务为空
 
 -  takeFuture<V> take() throws InterruptedException 检索并删除表示下一个已完成任务的Future,如果还没有,则等待。- 结果
- 代表下一个完成任务的Future
- 异常
-  
              InterruptedException- 等待时中断
 
 -  pollFuture<V> poll(long timeout, TimeUnit unit) throws InterruptedException 检索并删除表示下一个已完成任务的Future,必要时等待指定的等待时间(如果尚未存在)。- 参数
-  
              timeout- 放弃前等待多长时间,单位为unit
-  
              unit-一个TimeUnit确定如何解释timeout参数
- 结果
- 
               表示下一个已完成任务的Future或 
              null如果指定的等待时间在一个任务出现之前已经过去
- 异常
-  
              InterruptedException- 等待时中断
 
 
-  
 
-