- java.lang.Object
-
- java.util.concurrent.ForkJoinTask<V>
-
- java.util.concurrent.RecursiveTask<V>
-
- All Implemented Interfaces:
-
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
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 RecursiveTask()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 protected abstract V
compute()
这个任务执行的主要计算。protected boolean
exec()
实现RecursiveTask的执行约定。V
getRawResult()
返回由ForkJoinTask.join()
返回的结果,即使此任务异常完成,或null
如果此任务未知已完成。protected void
setRawResult(V value)
强制给定的值作为结果返回。-
Methods inherited from class 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
- Specified by:
-
getRawResult
在ForkJoinTask<V>
- 结果
-
结果,或
null
如果没有完成
-
setRawResult
protected final void setRawResult(V value)
描述从类别复制:ForkJoinTask
强制给定的值作为结果返回。 这种方法被设计为支持扩展,一般不应该以其他方式调用。- Specified by:
-
setRawResult
在ForkJoinTask<V>
- 参数
-
value
- 值
-
exec
protected final boolean exec()
实现RecursiveTask的执行约定。- Specified by:
-
exec
在ForkJoinTask<V>
- 结果
-
true
如果此任务已知已正常完成
-
-