モジュール java.base
パッケージ java.util.concurrent

インタフェースCompletionService<V>

型パラメータ:
V - このサービスのタスクが生成および消費する値のタイプ
既知のすべての実装クラス:
ExecutorCompletionService

public interface CompletionService<V>
新しい非同期タスクの生成を、完了済みタスクの結果の消費から分離するサービスです。 プロデューサは、実行用のタスクに対してsubmitを実行します。 コンシューマは、完了済みのタスクに対してtakeを実行し、結果を完了した順に処理します。 たとえば、CompletionServiceを使用して、非同期入出力を管理できます。この場合、読取りを実行するタスクはプログラムまたはシステムの一部に送信され、読取りの完了時にプログラムの別の部分で処理されます。処理の順序は、要求された順序とは異なる場合があります。

CompletionServiceは通常、これらのタスクを実際に実行するために個別のExecutorを使用します。この場合、CompletionServiceは内部の完了キューのみを管理します。 ExecutorCompletionServiceクラスは、この手法の実装を提供します。

メモリー整合性効果: タスクをCompletionServiceに送信する前のスレッド内のアクションは、そのタスクによって実行されるアクションの前に発生し、一方それは、対応するtake()からの正常な復帰のあとのアクションよりも前に発生します。

導入されたバージョン:
1.5