- java.lang.Object
-
- java.util.concurrent.ForkJoinTask<V>
-
- java.util.concurrent.RecursiveTask<V>
-
- すべての実装されたインタフェース:
Serializable
,Future<V>
public abstract class RecursiveTask<V> extends ForkJoinTask<V>
結果を生成する再帰的なForkJoinTask
。従来の例として、フィボナッチの数列を計算しているタスクを次に示します。
class Fibonacci extends RecursiveTask<Integer> { final int n; Fibonacci(int n) { this.n = n; } protected Integer compute() { if (n <= 1) return n; Fibonacci f1 = new Fibonacci(n - 1); f1.fork(); Fibonacci f2 = new Fibonacci(n - 2); return f2.compute() + f1.join(); } }
- 導入されたバージョン:
- 1.7
- 関連項目:
- 直列化された形式
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 RecursiveTask()
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 protected abstract V
compute()
このタスクによって実行される主な計算です。protected boolean
exec()
RecursiveTaskのための実行規則を実装します。V
getRawResult()
このタスクが異常な状態で実行された場合であっても、ForkJoinTask.join()
によって返される結果を返します。このタスクが実行されたかどうかが不明の場合は、null
です。protected void
setRawResult(V value)
指定された値を結果として返すことを強制します。-
クラス java.util.concurrent.ForkJoinTaskから継承されたメソッド
adapt, adapt, adapt, cancel, compareAndSetForkJoinTaskTag, complete, completeExceptionally, fork, get, get, getException, getForkJoinTaskTag, getPool, getQueuedTaskCount, getSurplusQueuedTaskCount, helpQuiesce, inForkJoinPool, invoke, invokeAll, invokeAll, invokeAll, isCancelled, isCompletedAbnormally, isCompletedNormally, isDone, join, peekNextLocalTask, pollNextLocalTask, pollSubmission, pollTask, quietlyComplete, quietlyInvoke, quietlyJoin, reinitialize, setForkJoinTaskTag, tryUnfork
-
-
-
-
メソッドの詳細
-
compute
protected abstract V compute()
このタスクによって実行される主な計算です。- 戻り値:
- 計算の結果
-
getRawResult
public final V getRawResult()
次のクラスからコピーされた説明:ForkJoinTask
このタスクが異常な状態で実行された場合であっても、ForkJoinTask.join()
によって返される結果を返します。このタスクが実行されたかどうかが不明の場合は、null
です。 このメソッドは、デバッグを支援したり、拡張機能をサポートするためのものです。 これをほかのコンテキストで使用することは推奨されていません。- 定義:
getRawResult
、クラス:ForkJoinTask<V>
- 戻り値:
- 結果あるいは
null
(完了しない場合)
-
setRawResult
protected final void setRawResult(V value)
次のクラスからコピーされた説明:ForkJoinTask
指定された値を結果として返すことを強制します。 このメソッドは拡張機能をサポートするためのものであるため、それ以外の一般的な場合では呼び出してはいけません。- 定義:
setRawResult
、クラス:ForkJoinTask<V>
- パラメータ:
value
- 値
-
exec
protected final boolean exec()
RecursiveTaskのための実行規則を実装します。- 定義:
exec
、クラス:ForkJoinTask<V>
- 戻り値:
- このタスクが正常に完了したことがわかっている場合は
true
-
-