|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface CompletionService<V>
新しい非同期タスクの生成を、完了済みタスクの結果の消費から分離するサービスです。プロデューサは、実行用のタスクに対して submit を実行します。コンシューマは、完了済みのタスクに take を実行し、結果を完了した順に処理します。たとえば、CompletionService を使用して、非同期入出力を管理できます。この場合、読み取りを実行するタスクはプログラムまたはシステムの一部に送信され、読み取りの完了時にプログラムの別の部分で処理されます。処理の順序は、要求された順序とは異なる場合があります。
一般に、CompletionService では、タスクの実際の実行は別の Executor
で行われます。この場合、CompletionService は、内部の完了キューのみを管理します。ExecutorCompletionService
クラスは、この手法の実装を提供します。
メモリー整合性効果:タスクを CompletionService
に送信する前のスレッド内のアクションは、そのタスクによって行われるアクションよりも「前に発生」し、一方それは、対応する take()
から正常に復帰したあとのアクションよりも「前に発生」します。
メソッドの概要 | |
---|---|
Future<V> |
poll()
次の完了済みタスクを表す Future を取得して削除します。 |
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 パラメータの解釈方法を決定する TimeUnit
InterruptedException
- 待機中に割り込みが発生した場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。