java.lang.Object
java.util.concurrent.AbstractExecutorService
- すべての実装されたインタフェース:
 Executor,ExecutorService
- 直系の既知のサブクラス:
 ForkJoinPool,ThreadPoolExecutor
public abstract class AbstractExecutorService extends Object implements ExecutorService
ExecutorService実行メソッドのデフォルト実装を提供します。 このクラスは、このパッケージで提供されるFutureTaskクラスがデフォルトである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.
 }- 導入されたバージョン:
 - 1.5
 
- 
コンストラクタのサマリー
コンストラクタ - 
メソッドのサマリー
修飾子と型メソッド説明invokeAll(Collection<? extends Callable<T>> tasks)指定されたタスクを実行し、すべて完了すると、ステータスと結果を含むFutureのリストを返します。invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)指定されたタスクを実行し、すべてが完了するか時間切れになるか、そのいずれかが最初に発生した時点で、ステータスと結果を含むFutureのリストを返します。<T> TinvokeAny(Collection<? extends Callable<T>> tasks)指定されたタスクを実行し、例外をスローせずに正常に完了したタスクが存在する場合は、その結果を返します。<T> TinvokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)指定されたタスクを実行し、タイム・アウトが経過する前に例外をスローせずに正常に完了したタスクが存在する場合は、その結果を返します。protected <T> RunnableFuture<T>newTaskFor(Runnable runnable, T value)指定された実行可能タスクおよびデフォルト値のRunnableFutureを返します。protected <T> RunnableFuture<T>newTaskFor(Callable<T> callable)指定された呼出し可能タスクのRunnableFutureを返します。Future<?>実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。<T> Future<T>実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。<T> Future<T>値を返す実行用タスクを送信して、保留状態のタスク結果を表すFutureを返します。クラス java.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitインタフェース java.util.concurrent.ExecutorServiceで宣言されたメソッド
awaitTermination, isShutdown, isTerminated, shutdown, shutdownNow 
- 
コンストラクタの詳細
- 
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
インタフェースからコピーされた説明:ExecutorService実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。 Futureのgetメソッドは、正常に完了した時点でnullを返します。- 定義:
 submit、インタフェース:ExecutorService- パラメータ:
 task- 送信するタスク- 戻り値:
 - タスクの保留完了を表すFuture
 - 例外:
 RejectedExecutionException- タスクの実行をスケジュールできない場合NullPointerException- タスクがnullの場合
 - 
submit
インタフェースからコピーされた説明:ExecutorService実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。 Futureのgetメソッドは、正常に完了した時点で指定された結果を返します。- 定義:
 submit、インタフェース:ExecutorService- 型パラメータ:
 T- 結果の型- パラメータ:
 task- 送信するタスクresult- 返す結果- 戻り値:
 - タスクの保留完了を表すFuture
 - 例外:
 RejectedExecutionException- タスクの実行をスケジュールできない場合NullPointerException- タスクがnullの場合
 - 
submit
インタフェースからコピーされた説明:ExecutorService値を返す実行用タスクを送信して、保留状態のタスク結果を表すFutureを返します。 Futureのgetメソッドは、正常に完了した時点でタスクの結果を返します。タスクの待機をただちにブロックする場合は、
result = exec.submit(aCallable).get();の形式の構築を使用できます。ノート:
Executorsクラスには、クロージャに似たほかの一般オブジェクトを変換できるメソッド・セットが含まれます。たとえば、PrivilegedActionをCallable形式に変換して、送信可能にすることができます。- 定義:
 submit、インタフェース:ExecutorService- 型パラメータ:
 T- タスクの結果の型- パラメータ:
 task- 送信するタスク- 戻り値:
 - タスクの保留完了を表すFuture
 - 例外:
 RejectedExecutionException- タスクの実行をスケジュールできない場合NullPointerException- タスクがnullの場合
 - 
invokeAny
public <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionExceptionインタフェースからコピーされた説明:ExecutorService指定されたタスクを実行し、例外をスローせずに正常に完了したタスクが存在する場合は、その結果を返します。 正常に戻った時点、または例外が返された時点で、完了していないタスクは取り消されます。 オペレーションの進行中に、指定されたコレクションが変更された場合、このメソッドの結果は定義されていません。- 定義:
 invokeAny、インタフェース:ExecutorService- 型パラメータ:
 T- タスクから返される値の型- パラメータ:
 tasks- タスクのコレクション- 戻り値:
 - タスクのいずれかによって返される結果
 - 例外:
 InterruptedException- 待機中に割込みが発生した場合ExecutionException- 正常に完了したタスクがない場合
 - 
invokeAny
public <T> T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutExceptionインタフェースからコピーされた説明:ExecutorService指定されたタスクを実行し、タイム・アウトが経過する前に例外をスローせずに正常に完了したタスクが存在する場合は、その結果を返します。 正常に戻った時点、または例外が返された時点で、完了していないタスクは取り消されます。 オペレーションの進行中に、指定されたコレクションが変更された場合、このメソッドの結果は定義されていません。- 定義:
 invokeAny、インタフェース:ExecutorService- 型パラメータ:
 T- タスクから返される値の型- パラメータ:
 tasks- タスクのコレクションtimeout- 待機する最長時間unit- timeout引数の時間単位- 戻り値:
 - タスクのいずれかによって返される結果
 - 例外:
 InterruptedException- 待機中に割込みが発生した場合ExecutionException- 正常に完了したタスクがない場合TimeoutException- タスクが正常に完了する前に、指定されたタイム・アウトが経過した場合
 - 
invokeAll
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedExceptionインタフェースからコピーされた説明:ExecutorService指定されたタスクを実行し、すべて完了すると、ステータスと結果を含むFutureのリストを返します。 返されるリストの各要素に対してFuture.isDone()はtrueになります。 完了したタスクは、通常どおりか例外をスローすることで終了しています。 オペレーションの進行中に、指定されたコレクションが変更された場合、このメソッドの結果は定義されていません。- 定義:
 invokeAll、インタフェース:ExecutorService- 型パラメータ:
 T- タスクから返される値の型- パラメータ:
 tasks- タスクのコレクション- 戻り値:
 - タスクを表すFutureのリスト。リストの順序は、指定されたタスク・リストのイテレータにより生成される順序と同じで、各タスクは完了済みです。
 - 例外:
 InterruptedException- 待機中に割込みが発生した場合。この場合、未完了のタスクは取り消されます
 - 
invokeAll
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedExceptionインタフェースからコピーされた説明:ExecutorService指定されたタスクを実行し、すべてが完了するか時間切れになるか、そのいずれかが最初に発生した時点で、ステータスと結果を含むFutureのリストを返します。 返されるリストの各要素に対してFuture.isDone()はtrueになります。 返された時点で、完了していないタスクは取り消されます。 完了したタスクは、通常どおりか例外をスローすることで終了しています。 オペレーションの進行中に、指定されたコレクションが変更された場合、このメソッドの結果は定義されていません。- 定義:
 invokeAll、インタフェース:ExecutorService- 型パラメータ:
 T- タスクから返される値の型- パラメータ:
 tasks- タスクのコレクションtimeout- 待機する最長時間unit- timeout引数の時間単位- 戻り値:
 - タスクを表すFutureのリスト。リストの順序は、指定されたタスク・リストのイテレータにより生成される順序と同じになります。 オペレーションがタイム・アウトにならなかった場合、各タスクは完了します。 オペレーションがタイム・アウトになった場合、タスクの一部は完了しません。
 - 例外:
 InterruptedException- 待機中に割込みが発生した場合。この場合、未完了のタスクは取り消されます
 
 -