|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.util.concurrent
接口 CompletionService<V>
- 所有已知实现类:
- ExecutorCompletionService
-
public interface CompletionService<V>
将生产新的异步任务与使用已完成任务的结果分离开来的服务。生产者 submit 执行的任务。使用者 take 已完成的任务,并按照完成这些任务的顺序处理它们的结果。例如,CompletionService 可以用来管理异步 IO ,执行读操作的任务作为程序或系统的一部分提交,然后,当完成读操作时,会在程序的不同部分执行其他操作,执行操作的顺序可能与所请求的顺序不同。
通常,CompletionService 依赖于一个单独的 Executor
来实际执行任务,在这种情况下,CompletionService 只管理一个内部完成队列。ExecutorCompletionService
类提供了此方法的一个实现。
方法摘要 | |
---|---|
Future<V> |
poll() 检索并移除表示下一个已完成任务的 Future,如果不存在这样的任务,则返回 null。 |
Future<V> |
poll(long timeout, TimeUnit unit) 检索并移除表示下一个已完成任务的 Future,如果目前不存在这样的任务,则将等待指定的时间(如果有必要)。 |
Future<V> |
submit(Callable<V> task) 提交要执行的值返回任务,并返回表示挂起的任务结果的 Future。 |
Future<V> |
submit(Runnable task, V result) 提交要执行的 Runnable 任务,并返回一个表示任务完成的 Future,可以提取或轮询此任务。 |
Future<V> |
take() 检索并移除表示下一个已完成任务的 Future,如果目前不存在这样的任务,则等待。 |
方法详细信息 |
---|
submit
Future<V> submit(Callable<V> task)
- 提交要执行的值返回任务,并返回表示挂起的任务结果的 Future。在完成时,可能会提取或轮询此任务。
-
- 参数:
-
task
- 要提交的任务 - 返回:
- 一个表示挂起的任务完成的 Future
- 抛出:
-
RejectedExecutionException
- 如果不能安排要执行的任务 -
NullPointerException
- 如果任务为 null
submit
Future<V> submit(Runnable task, V result)
- 提交要执行的 Runnable 任务,并返回一个表示任务完成的 Future,可以提取或轮询此任务。
-
- 参数:
-
task
- 要提交的任务 -
result
- 要返回的已成功完成任务的结果 - 返回:
- 一个表示挂起的任务完成的 Future,其 get() 方法将返回完成时给出的结果值
- 抛出:
-
RejectedExecutionException
- 如果不能安排要执行的任务 -
NullPointerException
- 如果任务为 null
take
Future<V> take() throws InterruptedException
- 检索并移除表示下一个已完成任务的 Future,如果目前不存在这样的任务,则等待。
-
- 返回:
- 表示下一个已完成任务的 Future
- 抛出:
-
InterruptedException
- 如果在等待时被中断。
poll
Future<V> poll()
- 检索并移除表示下一个已完成任务的 Future,如果不存在这样的任务,则返回 null。
-
- 返回:
- 表示下一个已完成任务的 Future;如果不存在这样的任务,则返回 null。
poll
Future<V> poll(long timeout, TimeUnit unit) throws InterruptedException
- 检索并移除表示下一个已完成任务的 Future,如果目前不存在这样的任务,则将等待指定的时间(如果有必要)。
-
- 参数:
-
timeout
- 放弃之前需要等待的时间长度,以 unit 为时间单位 -
unit
- 确定如何解释 timeout 参数的 TimeUnit - 返回:
- 表示下一个已完成任务的 Future;如果等待了指定时间仍然不存在这样的任务,则返回 null。
- 抛出:
-
InterruptedException
- 如果在等待时被中断。
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |