インタフェースjava.util.concurrent.Future
の使用

Futureを使用するパッケージ
パッケージ
説明
入出力操作を実行できるエンティティ(ファイル、ソケットなど)への接続を表すチャネルや、多重化された非ブロック入出力操作用のセレクタを定義します。
並行プログラミングでよく使用されるユーティリティ・クラスです。
すべてのプラットフォーム上で可能なかぎり同じように機能する「軽量」(Java共通言語)コンポーネントのセットを提供します。
コンカレント・プログラミング用の非最終APIを定義します。
  • java.nio.channelsでのFutureの使用

    Futureを返すjava.nio.channelsのメソッド
    修飾子と型
    メソッド
    説明
    AsynchronousServerSocketChannel.accept()
    接続を受け入れます。
    abstract Future<Void>
    AsynchronousSocketChannel.connect(SocketAddress remote)
    このチャネルを接続します。
    AsynchronousFileChannel.lock()
    このチャネルのファイル上に排他ロックを設定します。
    abstract Future<FileLock>
    AsynchronousFileChannel.lock(long position, long size, boolean shared)
    このチャネルのファイルの指定された領域をロックします。
    AsynchronousByteChannel.read(ByteBuffer dst)
    このチャネルのバイト・シーケンスを指定のバッファに読み込みます。
    abstract Future<Integer>
    AsynchronousFileChannel.read(ByteBuffer dst, long position)
    このチャネルのバイト・シーケンスを、指定されたファイル位置からバッファに読み込みます。
    abstract Future<Integer>
    AsynchronousSocketChannel.read(ByteBuffer dst)
     
    AsynchronousByteChannel.write(ByteBuffer src)
    このチャネルのバイト・シーケンスを指定のバッファから書き出します。
    abstract Future<Integer>
    AsynchronousFileChannel.write(ByteBuffer src, long position)
    指定されたバッファのバイト・シーケンスをこのチャネルの指定されたファイル位置に書き込みます。
    abstract Future<Integer>
    AsynchronousSocketChannel.write(ByteBuffer src)
     
  • java.util.concurrentでのFutureの使用

    java.util.concurrentでのFutureのサブインタフェース
    修飾子と型
    インタフェース
    説明
    interface 
    RunnableであるFutureです。
    interface 
    RunnableであるScheduledFutureです。
    interface 
    取消し可能な、遅延された結果生成アクションです。
    Futureを実装しているjava.util.concurrentのクラス
    修飾子と型
    クラス
    説明
    class 
    明示的に(その値とステータスを設定して)完了できるFutureです。その完了時に発生する依存関数およびアクションをサポートし、CompletionStageとして使用できます。
    class 
    トリガーされた時点で保留中のアクションが残っていない場合に実行される完了アクションを含むForkJoinTaskです。
    class 
    ForkJoinPool内で実行する抽象基底クラスです。
    class 
    取消し可能な非同期計算です。
    class 
    結果の出ない再帰的なForkJoinTask
    class 
    結果を生成する再帰的なForkJoinTask
    Futureを返すjava.util.concurrentのメソッド
    修飾子と型
    メソッド
    説明
    CompletionService.poll()
    次の完了済みタスクを表すFutureを取得して削除します。何も存在しない場合はnullを返します。
    CompletionService.poll(long timeout, TimeUnit unit)
    次の完了済みタスクを表すFutureを取得して削除します。何も存在しない場合は、必要に応じて指定された待機時間まで待機します。
    ExecutorCompletionService.poll()
     
    ExecutorCompletionService.poll(long timeout, TimeUnit unit)
     
    AbstractExecutorService.submit(Runnable task)
     
    <T> Future<T>
    AbstractExecutorService.submit(Runnable task, T result)
     
    <T> Future<T>
    AbstractExecutorService.submit(Callable<T> task)
     
    CompletionService.submit(Runnable task, V result)
    実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。
    CompletionService.submit(Callable<V> task)
    値を返す実行用タスクを送信して、保留状態のタスク結果を表すFutureを返します。
    ExecutorCompletionService.submit(Runnable task, V result)
     
    ExecutorCompletionService.submit(Callable<V> task)
     
    ExecutorService.submit(Runnable task)
    実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。
    <T> Future<T>
    ExecutorService.submit(Runnable task, T result)
    実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。
    <T> Future<T>
    ExecutorService.submit(Callable<T> task)
    値を返す実行用タスクを送信して、保留状態のタスク結果を表すFutureを返します。
    ScheduledThreadPoolExecutor.submit(Runnable task)
     
    <T> Future<T>
    ScheduledThreadPoolExecutor.submit(Runnable task, T result)
     
    <T> Future<T>
    ScheduledThreadPoolExecutor.submit(Callable<T> task)
     
    CompletionService.take()
    次の完了済みタスクを表すFutureを取得して削除します。何も存在しない場合は待機します。
    ExecutorCompletionService.take()
     
    Future型の引数を持つ型を返すjava.util.concurrentのメソッド
    修飾子と型
    メソッド
    説明
    <T> List<Future<T>>
    AbstractExecutorService.invokeAll(Collection<? extends Callable<T>> tasks)
     
    <T> List<Future<T>>
    AbstractExecutorService.invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
     
    <T> List<Future<T>>
    ExecutorService.invokeAll(Collection<? extends Callable<T>> tasks)
    指定されたタスクを実行し、すべて完了すると、ステータスと結果を含むFutureのリストを返します。
    <T> List<Future<T>>
    ExecutorService.invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
    指定されたタスクを実行し、すべてが完了するか時間切れになるか、そのいずれかが最初に発生した時点で、ステータスと結果を含むFutureのリストを返します。
    <T> List<Future<T>>
    ForkJoinPool.invokeAll(Collection<? extends Callable<T>> tasks)
     
    Future型の型引数を持つjava.util.concurrentのコンストラクタ・パラメータ
    修飾子
    コンストラクタ
    説明
     
    基本タスクの実行用に指定されたexecutorを使用し、完了キューとして指定されたキューを使用して、ExecutorCompletionServiceを作成します。
  • javax.swingでのFutureの使用

    Futureを実装しているjavax.swingのクラス
    修飾子と型
    クラス
    説明
    class 
    GUIとやりとりする時間のかかるタスクを、バックグラウンド・スレッドで実行するためのabstractクラスです。
  • jdk.incubator.concurrentでのFutureの使用

    Futureを返すjdk.incubator.concurrentのメソッド
    修飾子と型
    メソッド
    説明
    <U extends T>
    Future<U>
    StructuredTaskScope.fork(Callable<? extends U> task)
    指定されたタスクを実行する新しいスレッドを開始します。
    Futureのパラメータを持つjdk.incubator.concurrentのメソッド
    修飾子と型
    メソッド
    説明
    protected void
    StructuredTaskScope.handleComplete(Future<T> future)
    スコープが停止する前にタスクが完了したときに起動されます。
    protected void
    StructuredTaskScope.ShutdownOnFailure.handleComplete(Future<Object> future)
    異常な(例外または取消済)を完了したタスクの Futureを使用して初めて、指定されたタスク範囲を停止します。
    protected void
    StructuredTaskScope.ShutdownOnSuccess.handleComplete(Future<T> future)
    結果で完了したタスクの Futureを使用して初めて起動されたときに、指定されたタスク範囲を停止します。