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

クラスAbstractExecutorService

  • すべての実装されたインタフェース:
    Executor, ExecutorService
    直系の既知のサブクラス:
    ForkJoinPool, ThreadPoolExecutor

    public abstract class AbstractExecutorService
    extends Object
    implements ExecutorService
    ExecutorService実行メソッドのデフォルト実装を提供します。 このクラスは、このパッケージで提供されるFutureTaskクラスがデフォルトであるnewTaskForによって返されるRunnableFutureを使用して、submitinvokeAny、およびinvokeAllメソッドを実装します。 たとえば、submit(Runnable)の実装によって関連付けられたRunnableFutureが作成され、これが実行されて結果が返されます。 サブクラスでは、FutureTask以外のRunnableFuture実装を返すようにnewTaskForメソッドをオーバーライドできます。

    拡張機能の例 ここでは、デフォルトのFutureTaskの代わりにCustomTaskクラスを使用するためにThreadPoolExecutorをカスタマイズするクラスの概略を示します。

     
     public class CustomThreadPoolExecutor extends ThreadPoolExecutor {
    
       static class CustomTask<V> implements RunnableFuture<V> {...}
    
       protected <V> RunnableFuture<V> newTaskFor(Callable<V> c) {
           return new CustomTask<V>(c);
       }
       protected <V> RunnableFuture<V> newTaskFor(Runnable r, V v) {
           return new CustomTask<V>(r, v);
       }
       // ... add constructors, etc.
     }

    導入されたバージョン:
    1.5
    • コンストラクタの詳細

      • AbstractExecutorService

        public AbstractExecutorService()
    • メソッドの詳細

      • newTaskFor

        protected <T> RunnableFuture<T> newTaskFor​(Runnable runnable,
                                                   T value)
        指定された実行可能タスクおよびデフォルト値のRunnableFutureを返します。
        型パラメータ:
        T - 指定された値の型
        パラメータ:
        runnable - ラップされる実行可能タスク
        value - 返されるFutureのデフォルト値
        戻り値:
        実行時に基本となる実行可能タスクを実行し、Futureとして、指定された値をその結果として生成し、基本となるタスクの取消しを提供するRunnableFuture
        導入されたバージョン:
        1.6
      • newTaskFor

        protected <T> RunnableFuture<T> newTaskFor​(Callable<T> callable)
        指定された呼出し可能タスクのRunnableFutureを返します。
        型パラメータ:
        T - 呼出し可能タスクの結果の型
        パラメータ:
        callable - ラップされる呼出し可能タスク
        戻り値:
        実行時に基本となる呼出し可能タスクを呼び出し、Futureとして、呼出し可能タスクの結果をその結果として生成し、基本となるタスクの取消しを提供するRunnableFuture
        導入されたバージョン:
        1.6
      • submit

        public Future<?> submit​(Runnable task)
        インタフェースからコピーされた説明: ExecutorService
        実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。 Futureのgetメソッドは、正常に完了した時点でnullを返します。
        定義:
        submit、インタフェース: ExecutorService
        パラメータ:
        task - 送信するタスク
        戻り値:
        タスクの保留完了を表すFuture
        例外:
        RejectedExecutionException - タスクの実行をスケジュールできない場合
        NullPointerException - タスクがnullの場合
      • submit

        public <T> Future<T> submit​(Runnable task,
                                    T result)
        インタフェースからコピーされた説明: ExecutorService
        実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。 Futureのgetメソッドは、正常に完了した時点で指定された結果を返します。
        定義:
        submit、インタフェース: ExecutorService
        型パラメータ:
        T - 結果の型
        パラメータ:
        task - 送信するタスク
        result - 返す結果
        戻り値:
        タスクの保留完了を表すFuture
        例外:
        RejectedExecutionException - タスクの実行をスケジュールできない場合
        NullPointerException - タスクがnullの場合
      • submit

        public <T> Future<T> submit​(Callable<T> task)
        インタフェースからコピーされた説明: ExecutorService
        値を返す実行用タスクを送信して、保留状態のタスク結果を表すFutureを返します。 Futureのgetメソッドは、正常に完了した時点でタスクの結果を返します。

        タスクの待機をただちにブロックする場合は、result = exec.submit(aCallable).get();の形式の構築を使用できます。

        ノート: Executorsクラスには、クロージャに似たほかの一般オブジェクトを変換できるメソッド・セットが含まれます。たとえば、PrivilegedActionCallable形式に変換して、送信可能にすることができます。

        定義:
        submit、インタフェース: ExecutorService
        型パラメータ:
        T - タスクの結果の型
        パラメータ:
        task - 送信するタスク
        戻り値:
        タスクの保留完了を表すFuture
        例外:
        RejectedExecutionException - タスクの実行をスケジュールできない場合
        NullPointerException - タスクがnullの場合