public interface CompletionService<V>
CompletionService は通常、これらのタスクを実際に実行するために個別の Executor
を使用します。この場合、CompletionService は内部の完了キューのみを管理します。ExecutorCompletionService
クラスは、この手法の実装を提供します。
メモリー整合性効果: タスクを CompletionService
に送信する前のスレッド内のアクションは、そのタスクによって実行されるアクションの前に発生し、一方それは、対応する take()
からの正常な復帰のあとのアクションよりも前に発生します。
修飾子と型 | メソッドと説明 |
---|---|
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 を取得して削除します。何も存在しない場合は待機します。
|
Future<V> submit(Callable<V> task)
task
- 送信するタスクRejectedExecutionException
- タスクの実行をスケジュールできない場合NullPointerException
- タスクが null の場合Future<V> submit(Runnable task, V result)
task
- 送信するタスクresult
- 正常に完了した場合に返す結果RejectedExecutionException
- タスクの実行をスケジュールできない場合NullPointerException
- タスクが null の場合Future<V> take() throws InterruptedException
InterruptedException
- 待機中に割り込みが発生した場合Future<V> poll()
Future<V> poll(long timeout, TimeUnit unit) throws InterruptedException
timeout
- 処理を中止するまでの待機時間。単位は unitunit
- timeout パラメータの解釈方法を決定する TimeUnitInterruptedException
- 待機中に割り込みが発生した場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.