public abstract class AbstractExecutorService extends Object implements ExecutorService
ExecutorService実行メソッドのデフォルト実装を提供します。 このクラスは、このパッケージで提供されるnewTaskForによって返されるRunnableFutureを使用して、submit、invokeAny、および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.
 }| コンストラクタ | 説明 | 
|---|---|
| AbstractExecutorService() | 
| 修飾子と型 | メソッド | 説明 | 
|---|---|---|
| <T> List<Future<T>> | invokeAll(Collection<? extends Callable<T>> tasks) | 指定されたタスクを実行し、すべて完了すると、ステータスと結果を含むFutureのリストを返します。 | 
| <T> List<Future<T>> | invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) | 指定されたタスクを実行し、すべてが完了するか時間切れになるか、そのいずれかが最初に発生した時点で、ステータスと結果を含むFutureのリストを返します。 | 
| <T> T | invokeAny(Collection<? extends Callable<T>> tasks) | 指定されたタスクを実行し、例外をスローせずに正常に完了したタスクが存在する場合は、その結果を返します。 | 
| <T> T | invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) | 指定されたタスクを実行し、タイム・アウトが経過する前に例外をスローせずに正常に完了したタスクが存在する場合は、その結果を返します。 | 
| protected <T> RunnableFuture<T> | newTaskFor(Callable<T> callable) | 指定された呼出し可能タスクの RunnableFutureを返します。 | 
| protected <T> RunnableFuture<T> | newTaskFor(Runnable runnable, T value) | 指定された実行可能タスクおよびデフォルト値の RunnableFutureを返します。 | 
| <T> Future<T> | submit(Callable<T> task) | 値を返す実行用タスクを送信して、保留状態のタスク結果を表すFutureを返します。 | 
| Future<?> | submit(Runnable task) | 実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。 | 
| <T> Future<T> | submit(Runnable task, T result) | 実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。 | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitawaitTermination, isShutdown, isTerminated, shutdown, shutdownNowprotected <T> RunnableFuture<T> newTaskFor(Runnable runnable, T value)
RunnableFutureを返します。T - 指定された値の型runnable - ラップされる実行可能タスクvalue - 返されるFutureのデフォルト値Futureとして、指定された値をその結果として生成し、基本となるタスクの取消しを提供するRunnableFuture。protected <T> RunnableFuture<T> newTaskFor(Callable<T> callable)
RunnableFutureを返します。T - 呼出し可能タスクの結果の型callable - ラップされる呼出し可能タスクFutureとして、呼出し可能タスクの結果をその結果として生成し、基本となるタスクの取消しを提供するRunnableFuture。public Future<?> submit(Runnable task)
ExecutorServicegetメソッドは、正常に完了した時点でnullを返します。 submit、インタフェースExecutorServicetask - 送信するタスクRejectedExecutionException - タスクの実行をスケジュールできない場合NullPointerException - タスクがnullの場合public <T> Future<T> submit(Runnable task, T result)
ExecutorServicegetメソッドは、正常に完了した時点で指定された結果を返します。 submit、インタフェースExecutorServiceT - 結果の型task - 送信するタスクresult - 返す結果RejectedExecutionException - タスクの実行をスケジュールできない場合NullPointerException - タスクがnullの場合public <T> Future<T> submit(Callable<T> task)
ExecutorServicegetメソッドは、正常に完了した時点でタスクの結果を返します。 
 
 タスクの待機をただちにブロックする場合は、result = exec.submit(aCallable).get();の形式の構築を使用できます。
 
ノート: Executorsクラスには、クロージャに似たほかの一般オブジェクトを変換できるメソッド・セットが含まれます。たとえば、PrivilegedActionをCallable形式に変換して、送信可能にすることができます。
submit、インタフェースExecutorServiceT - タスクの結果の型task - 送信するタスクRejectedExecutionException - タスクの実行をスケジュールできない場合NullPointerException - タスクがnullの場合public <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException
ExecutorServiceinvokeAny、インタフェースExecutorServiceT - タスクから返される値の型tasks - タスクのコレクションInterruptedException - 待機中に割込みが発生した場合ExecutionException - 正常に完了したタスクがない場合public <T> T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
ExecutorServiceinvokeAny、インタフェースExecutorServiceT - タスクから返される値の型tasks - タスクのコレクションtimeout - 待機する最長時間unit - timeout引数の時間単位InterruptedException - 待機中に割込みが発生した場合ExecutionException - 正常に完了したタスクがない場合TimeoutException - タスクが正常に完了する前に、指定されたタイム・アウトが経過した場合public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedException
ExecutorServiceFuture.isDone()はtrueになります。 完了したタスクは、通常どおりか例外をスローすることで終了しています。 オペレーションの進行中に、指定されたコレクションが変更された場合、このメソッドの結果は定義されていません。 invokeAll、インタフェースExecutorServiceT - タスクから返される値の型tasks - タスクのコレクションInterruptedException - 待機中に割込みが発生した場合。この場合、未完了のタスクは取り消されますpublic <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException
ExecutorServiceFuture.isDone()はtrueになります。 返された時点で、完了していないタスクは取り消されます。 完了したタスクは、通常どおりか例外をスローすることで終了しています。 オペレーションの進行中に、指定されたコレクションが変更された場合、このメソッドの結果は定義されていません。 invokeAll、インタフェースExecutorServiceT - タスクから返される値の型tasks - タスクのコレクションtimeout - 待機する最長時間unit - timeout引数の時間単位InterruptedException - 待機中に割込みが発生した場合。この場合、未完了のタスクは取り消されます バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。 
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Documentation Redistribution Policyも参照してください。