JavaTM 2 Platform
Standard Ed. 5.0

java.util.concurrent
クラス AbstractExecutorService

java.lang.Object
  上位を拡張 java.util.concurrent.AbstractExecutorService
すべての実装されたインタフェース:
Executor, ExecutorService
直系の既知のサブクラス:
ThreadPoolExecutor

public abstract class AbstractExecutorService
extends Object
implements ExecutorService

ExecutorService 実行メソッドのデフォルト実装を提供します。このクラスは、このパッケージで提供されるデフォルトの FutureTask クラスを使用して、submitinvokeAny、および invokeAll メソッドを実装します。たとえば、submit(Runnable) の実装が関連する FutureTask を作成し、これが実行されて返されます。これらのメソッドをオーバーライドして別の Future 実装を使用するサブクラスは、メソッドごとにこの処理を一貫して実行する必要があります。

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

コンストラクタの概要
AbstractExecutorService()
           
 
メソッドの概要
<T> List<Future<T>>
invokeAll(Collection<Callable<T>> tasks)
          指定されたタスクを実行し、Future のリストをステータスとともに返し、すべてが完了したら結果を返します。
<T> List<Future<T>>
invokeAll(Collection<Callable<T>> tasks, long timeout, TimeUnit unit)
          指定されたタスクを実行し、Future のリストをステータスとともに返し、すべてが完了するかまたは時間切れになるかのいずれか早い時点で結果を返します。
<T> T
invokeAny(Collection<Callable<T>> tasks)
          指定されたタスクを実行し、正常に完了したタスクが存在する場合は、その結果を (例外をスローせずに) 返します。
<T> T
invokeAny(Collection<Callable<T>> tasks, long timeout, TimeUnit unit)
          指定されたタスクを実行し、タイムアウトになる前に正常に完了したタスクが存在する場合は、その結果を (例外をスローせずに) 返します。
<T> Future<T>
submit(Callable<T> task)
          値を返す実行タスクを送信し、保留中のタスク結果を表す Future を返します。
 Future<?> submit(Runnable task)
          実行用の Runnable タスクを送信し、そのタスクを表す Future を返します。
<T> Future<T>
submit(Runnable task, T result)
          実行用の Runnable タスクを送信して、完了時に指定された結果を返すタスクを表す Future を返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース java.util.concurrent.ExecutorService から継承されたメソッド
awaitTermination, isShutdown, isTerminated, shutdown, shutdownNow
 
インタフェース java.util.concurrent.Executor から継承されたメソッド
execute
 

コンストラクタの詳細

AbstractExecutorService

public AbstractExecutorService()
メソッドの詳細

submit

public Future<?> submit(Runnable task)
インタフェース ExecutorService の記述:
実行用の Runnable タスクを送信し、そのタスクを表す Future を返します。

定義:
インタフェース ExecutorService 内の submit
パラメータ:
task - 送信するタスク
戻り値:
保留状態のタスク完了を表す Future。その get() メソッドは、完了時に null を返す

submit

public <T> Future<T> submit(Runnable task,
                            T result)
インタフェース ExecutorService の記述:
実行用の Runnable タスクを送信して、完了時に指定された結果を返すタスクを表す Future を返します。

定義:
インタフェース ExecutorService 内の submit
パラメータ:
task - 送信するタスク
result - 返す結果
戻り値:
タスクの保留完了を表す Future。その get() メソッドは、完了時に指定された結果を返す

submit

public <T> Future<T> submit(Callable<T> task)
インタフェース ExecutorService の記述:
値を返す実行タスクを送信し、保留中のタスク結果を表す Future を返します。

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

注: Executors クラスには、クロージャに似た他の一般オブジェクトを変換可能なメソッドセット (たとえば、PrivilegedAction を送信可能な Callable 形式に変換できる) が含まれます。

定義:
インタフェース ExecutorService 内の submit
パラメータ:
task - 送信するタスク
戻り値:
タスクの保留完了を表す Future

invokeAny

public <T> T invokeAny(Collection<Callable<T>> tasks)
            throws InterruptedException,
                   ExecutionException
インタフェース ExecutorService の記述:
指定されたタスクを実行し、正常に完了したタスクが存在する場合は、その結果を (例外をスローせずに) 返します。通常または例外を伴う復帰時に、未完了のタスクは取り消されます。この操作が進行中に指定されたコレクションが変更された場合の、このメソッドの結果は定義されていません。

定義:
インタフェース ExecutorService 内の invokeAny
パラメータ:
tasks - タスクのコレクション
戻り値:
いずれかのタスクにより返される結果
例外:
InterruptedException - 待機中に割り込みが発生した場合
ExecutionException - 正常に完了したタスクが存在しない場合

invokeAny

public <T> T invokeAny(Collection<Callable<T>> tasks,
                       long timeout,
                       TimeUnit unit)
            throws InterruptedException,
                   ExecutionException,
                   TimeoutException
インタフェース ExecutorService の記述:
指定されたタスクを実行し、タイムアウトになる前に正常に完了したタスクが存在する場合は、その結果を (例外をスローせずに) 返します。通常または例外を伴う復帰時に、未完了のタスクは取り消されます。この操作が進行中に指定されたコレクションが変更された場合の、このメソッドの結果は定義されていません。

定義:
インタフェース ExecutorService 内の invokeAny
パラメータ:
tasks - タスクのコレクション
timeout - 待機する最長時間
unit - timeout 引数の時間単位
戻り値:
いずれかのタスクにより返される結果
例外:
InterruptedException - 待機中に割り込みが発生した場合
ExecutionException - 正常に完了したタスクが存在しない場合
TimeoutException - いずれかのタスクが正常に完了する前に、指定されたタイムアウト時間が経過した場合

invokeAll

public <T> List<Future<T>> invokeAll(Collection<Callable<T>> tasks)
                          throws InterruptedException
インタフェース ExecutorService の記述:
指定されたタスクを実行し、Future のリストをステータスとともに返し、すべてが完了したら結果を返します。返されたリストの各要素に対して Donetrue になります。「完了した」タスクは、通常の方法または例外をスローすることで終了しています。この操作の進行中に指定されたコレクションが変更された場合、このメソッドの結果は定義されません。

定義:
インタフェース ExecutorService 内の invokeAll
パラメータ:
tasks - タスクのコレクション
戻り値:
タスクを表す Futures のリスト。リストの順番は、指定されたタスクリストの反復子により生成される順番と同じであり、各タスクは完了済みである
例外:
InterruptedException - 待機中に割り込みが発生した場合。この場合、未完了のタスクは取り消される

invokeAll

public <T> List<Future<T>> invokeAll(Collection<Callable<T>> tasks,
                                     long timeout,
                                     TimeUnit unit)
                          throws InterruptedException
インタフェース ExecutorService の記述:
指定されたタスクを実行し、Future のリストをステータスとともに返し、すべてが完了するかまたは時間切れになるかのいずれか早い時点で結果を返します。返されたリストの各要素に対して Donetrue になります。返された時点では、完了していないタスクは取り消されます。「完了した」タスクは、通常の方法または例外をスローすることで終了しています。この操作の進行中に指定されたコレクションが変更された場合、このメソッドの結果は定義されません。

定義:
インタフェース ExecutorService 内の invokeAll
パラメータ:
tasks - タスクのコレクション
timeout - 待機する最長時間
unit - timeout 引数の時間単位
戻り値:
タスクを表す Futures のリスト。リストの順番は、指定されたタスクリストの反復子により生成される順番と同じになる。操作がタイムアウトしなかった場合、各タスクは完了する。タイムアウトした場合は、タスクの一部は完了しない
例外:
InterruptedException - 待機中に割り込みが発生した場合。この場合、未完了のタスクは取り消される

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。