|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.concurrent.FutureTask<V>
V
- この FutureTask の get メソッドで返される結果型public class FutureTask<V>
取り消し可能な非同期計算です。このクラスは Future
のベース実装を提供し、計算の開始と取り消し、計算が完了したかどうかの問い合わせ、計算結果の取得などを行うメソッドがあります。結果は、計算の完了時にのみ取得できます。計算がまだ完了していないうちは get メソッドがブロックします。計算が完了すると、その計算の再開または取り消しはできません。
FutureTask は、Callable
オブジェクトや Runnable
オブジェクトをラップするために使用できます。FutureTask は Runnable を実装するため、FutureTask を Executor
に送信して実行することができます。
スタンドアロンクラスとして機能するだけでなく、このクラスでは、カスタマイズしたタスククラスの作成時に便利な protected 機能を提供します。
コンストラクタの概要 | |
---|---|
FutureTask(Callable<V> callable)
指定された Callable を実行時に実行する FutureTask を作成します。 |
|
FutureTask(Runnable runnable,
V result)
指定された実行可能タスクを実行時に実行し、かつ正常に完了すると指定された結果を get で返す FutureTask を作成します。 |
メソッドの概要 | |
---|---|
boolean |
cancel(boolean mayInterruptIfRunning)
このタスクの実行の取り消しを試みます。 |
protected void |
done()
このタスクの状態が (正常に、または取り消しによって) isDone に切り替わるときに呼び出される protected メソッドです。 |
V |
get()
必要に応じて計算が完了するまで待機し、その後、計算結果を取得します。 |
V |
get(long timeout,
TimeUnit unit)
必要に応じて、最大で指定された時間、計算が完了するまで待機し、その後、計算結果が利用可能な場合は結果を取得します。 |
boolean |
isCancelled()
このタスクが正常に完了する前に取り消された場合は true を返します。 |
boolean |
isDone()
このタスクが完了した場合は true を返します。 |
void |
run()
取り消されていなければ、この Future に計算結果を設定します。 |
protected boolean |
runAndReset()
結果を設定せずに計算を実行し、この Future を初期状態にリセットします。 |
protected void |
set(V v)
この Future が設定済みの場合または取り消された場合を除き、この Future の結果に指定された値を設定します。 |
protected void |
setException(Throwable t)
この Future が設定済みの場合または取り消された場合を除き、この Future が ExecutionException とその理由として指定されたスロー可能オブジェクトを報告するようになります。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public FutureTask(Callable<V> callable)
callable
- 呼び出し可能なタスク
NullPointerException
- 呼び出し可能レイアウトが null の場合public FutureTask(Runnable runnable, V result)
runnable
- 実行可能なタスクresult
- 正常に完了した場合に返す結果。特定の結果が必要ない場合は、Future<?> f = new FutureTask<Object>(runnable, null) という形式の構築を使用することを検討すること
NullPointerException
- runnable が null の場合メソッドの詳細 |
---|
public boolean isCancelled()
Future
の記述:
Future<V>
内の isCancelled
public boolean isDone()
Future
の記述:
Future<V>
内の isDone
public boolean cancel(boolean mayInterruptIfRunning)
Future
の記述:このメソッドが復帰したあと、以降の Future.isDone()
の呼び出しでは常に true が返されます。このメソッドが true を返した場合、以降の Future.isCancelled()
の呼び出しでは常に true が返されます。
Future<V>
内の cancel
mayInterruptIfRunning
- このタスクを実行しているスレッドに割り込む必要がある場合は true、そうでない場合は、実行中のタスクを完了できる
public V get() throws InterruptedException, ExecutionException
Future
の記述:
Future<V>
内の get
CancellationException
- 計算が取り消された場合
InterruptedException
- 待機中に現在のスレッドで割り込みが発生した場合
ExecutionException
- 計算で例外がスローされた場合public V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
Future
の記述:
Future<V>
内の get
timeout
- 待機する最長時間unit
- timeout 引数の時間単位
CancellationException
- 計算が取り消された場合
InterruptedException
- 待機中に現在のスレッドで割り込みが発生した場合
ExecutionException
- 計算で例外がスローされた場合
TimeoutException
- 待機がタイムアウトになった場合protected void done()
protected void set(V v)
v
- 値protected void setException(Throwable t)
t
- 失敗の原因public void run()
Runnable
内の run
RunnableFuture<V>
内の run
Thread.run()
protected boolean runAndReset()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。