言語

RecursiveTask クラス

定義

再帰的な結果を含む ForkJoinTask

[Android.Runtime.Register("java/util/concurrent/RecursiveTask", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "V" })]
public abstract class RecursiveTask : Java.Util.Concurrent.ForkJoinTask
[<Android.Runtime.Register("java/util/concurrent/RecursiveTask", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "V" })>]
type RecursiveTask = class
    inherit ForkJoinTask
継承
属性

注釈

再帰的な結果を含む ForkJoinTask

たとえば、Factorials を計算するためのタスク ベースのプログラムを次に示します。

{@code
            import java.util.concurrent.RecursiveTask;
            import java.math.BigInteger;
            public class Factorial {
              static class FactorialTask extends RecursiveTask<BigInteger> {
                private final int from, to;
                FactorialTask(int from, int to) { this.from = from; this.to = to; }
                protected BigInteger compute() {
                  int range = to - from;
                  if (range == 0) {                       // base case
                    return BigInteger.valueOf(from);
                  } else if (range == 1) {                // too small to parallelize
                    return BigInteger.valueOf(from).multiply(BigInteger.valueOf(to));
                  } else {                                // split in half
                    int mid = from + range / 2;
                    FactorialTask leftTask = new FactorialTask(from, mid);
                    leftTask.fork();         // perform about half the work locally
                    return new FactorialTask(mid + 1, to).compute()
                           .multiply(leftTask.join());
                  }
                }
              }
              static BigInteger factorial(int n) { // uses ForkJoinPool.commonPool()
                return (n <= 1) ? BigInteger.ONE : new FactorialTask(1, n).invoke();
              }
              public static void main(String[] args) {
                System.out.println(factorial(Integer.parseInt(args[0])));
              }
            }}

1.7 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
RecursiveTask()

呼び出すサブクラスのコンストラクター。

RecursiveTask(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Exception

基本計算によってスローされた例外、または取り消された場合は CancellationException 、またはメソッドがまだ完了していない場合は null を返します。

(継承元 ForkJoinTask)
ForkJoinTaskTag

このタスクのタグを返します。

(継承元 ForkJoinTask)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsCancelled

このタスクが正常に完了する前に取り消された場合は、 true を返します。

(継承元 ForkJoinTask)
IsCompletedAbnormally

このタスクが例外をスローした場合、または取り消された場合に true を返します。

(継承元 ForkJoinTask)
IsCompletedNormally

このタスクが例外をスローせずに完了し、取り消されなかった場合に true を返します。

(継承元 ForkJoinTask)
IsDone

このタスクが完了した場合 true を返します。

(継承元 ForkJoinTask)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

再帰的な結果を含む ForkJoinTask

(継承元 JavaObject)
JniPeerMembers

再帰的な結果を含む ForkJoinTask

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
RawRawResult

このタスクが異常に完了した場合でも、 Join()によって返される結果を返します。このタスクが完了していない場合は null します。

(継承元 ForkJoinTask)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

名前 説明
Cancel(Boolean)

このタスクの実行を取り消そうとします。

(継承元 ForkJoinTask)
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
CompareAndSetForkJoinTaskTag(Int16, Int16)

このタスクのタグ値をアトミックに条件付きで設定します。

(継承元 ForkJoinTask)
Complete(Object)

このタスクを完了し、まだ中止または取り消されていない場合は、後続の join および関連する操作の呼び出しの結果として、指定された値を返します。

(継承元 ForkJoinTask)
CompleteExceptionally(Throwable)

このタスクを異常終了し、まだ中止または取り消されていない場合は、 join および関連する操作時に指定された例外がスローされます。

(継承元 ForkJoinTask)
Compute()

このタスクによって実行される主な計算。

Construct(JniObjectReference, JniObjectReferenceOptions)

再帰的な結果を含む ForkJoinTask

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

再帰的な結果を含む ForkJoinTask

(継承元 JavaObject)
Equals(Object)

再帰的な結果を含む ForkJoinTask

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
ExceptionNow()

再帰的な結果を含む ForkJoinTask

(継承元 ForkJoinTask)
Exec()

RecursiveTask の実行規則を実装します。

Fork()

現在のタスクが実行されているプールで非同期的にこのタスクを実行するように配置します (該当する場合)。またはForkJoinPool#commonPool()されていない場合は#inForkJoinPoolを使用します。

(継承元 ForkJoinTask)
Get()

計算が完了するまで必要に応じて待機し、その結果を取得します。

(継承元 ForkJoinTask)
Get(Int64, TimeUnit)

必要に応じて、計算が完了するまで最大で指定された時間待機し、その結果 (使用可能な場合) を取得します。

(継承元 ForkJoinTask)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
Invoke()

このタスクの実行を開始し、必要に応じて完了を待機して結果を返すか、基になる計算が実行された場合は (オフの) RuntimeException または Error をスローします。

(継承元 ForkJoinTask)
JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Join()

#isDone が完了したときに計算の結果を返します。

(継承元 ForkJoinTask)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
QuietlyComplete()

値を設定せずにこのタスクを正常に完了します。

(継承元 ForkJoinTask)
QuietlyInvoke()

このタスクの実行を開始し、必要に応じて完了を待機します。結果を返したり、例外をスローしたりしません。

(継承元 ForkJoinTask)
QuietlyJoin()

結果を返したり、例外をスローしたりせずに、このタスクに参加します。

(継承元 ForkJoinTask)
QuietlyJoin(Int64, TimeUnit)

指定されたタイムアウトの前に完了し、現在のスレッドが中断されていない場合は true を返して、このタスクに参加しようとします。

(継承元 ForkJoinTask)
QuietlyJoinUninterruptibly(Int64, TimeUnit)

このタスクへの参加を試みます。指定されたタイムアウトの前に完了した場合は true を返します (例外が発生する可能性があります)。

(継承元 ForkJoinTask)
Reinitialize()

このタスクの内部ブックキーピング状態をリセットし、後続の forkできるようにします。

(継承元 ForkJoinTask)
ResultNow()

再帰的な結果を含む ForkJoinTask

(継承元 ForkJoinTask)
SetForkJoinTaskTag(Int16)

このタスクのタグ値をアトミックに設定し、古い値を返します。

(継承元 ForkJoinTask)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

再帰的な結果を含む ForkJoinTask

(継承元 JavaObject)
SetRawResult(Object)

結果として、指定された値が強制的に返されます。

(継承元 ForkJoinTask)
State()

再帰的な結果を含む ForkJoinTask

(継承元 ForkJoinTask)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
TryUnfork()

このタスクの実行スケジュールの解除を試みます。

(継承元 ForkJoinTask)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

再帰的な結果を含む ForkJoinTask

(継承元 JavaObject)
IJavaPeerable.Finalized()

再帰的な結果を含む ForkJoinTask

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

再帰的な結果を含む ForkJoinTask

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

再帰的な結果を含む ForkJoinTask

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

再帰的な結果を含む ForkJoinTask

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

再帰的な結果を含む ForkJoinTask

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

再帰的な結果を含む ForkJoinTask

(継承元 ForkJoinTask)

拡張メソッド

名前 説明
GetAsync(IFuture, Int64, TimeUnit)

再帰的な結果を含む ForkJoinTask

GetAsync(IFuture)

再帰的な結果を含む ForkJoinTask

GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

再帰的な結果を含む ForkJoinTask

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象