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
継承
RecursiveTask
属性

注釈

再帰的な結果を持つ ForkJoinTask

従来の例では、フィボナッチ数を計算するタスクを次に示します。

{@code
            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();
              }
            }}

ただし、フィボナッチ関数を計算するダムな方法であるだけでなく (実際には使用する単純な高速線形アルゴリズムがあります)、最小のサブタスクが小さすぎて分割に値しないため、パフォーマンスが低下する可能性があります。 代わりに、ほぼすべてのフォーク/結合アプリケーションの場合と同様に、分割するのではなく、常に順番に解決する最小粒度サイズ (ここでは 10 など) を選択します。

1.7 で追加されました。

の Java ドキュメント java.util.concurrent.RecursiveTask

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

コンストラクター

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

再帰的な結果を持つ ForkJoinTask

(継承元 Object)
JniPeerMembers

再帰的な結果を持つ ForkJoinTask

PeerReference

再帰的な結果を持つ ForkJoinTask

(継承元 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()

このタスクによって実行されるメイン計算。

Dispose()

再帰的な結果を持つ ForkJoinTask

(継承元 Object)
Dispose(Boolean)

再帰的な結果を持つ ForkJoinTask

(継承元 Object)
Equals(Object)

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

(継承元 Object)
Exec()

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

Fork()

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

(継承元 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)
Reinitialize()

このタスクの内部簿記状態をリセットし、後続 forkの を許可します。

(継承元 ForkJoinTask)
SetForkJoinTaskTag(Int16)

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

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

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

(継承元 Object)
SetRawResult(Object)

指定した値を強制的に結果として返します。

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

再帰的な結果を持つ ForkJoinTask

(継承元 Object)
ToString()

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

(継承元 Object)
TryUnfork()

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

(継承元 ForkJoinTask)
UnregisterFromRuntime()

再帰的な結果を持つ ForkJoinTask

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または <em>割り込み</em によって待機します>。

(継承元 Object)
Wait(Int64)

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

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

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

(継承元 Object)

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

IJavaPeerable.Disposed()

再帰的な結果を持つ ForkJoinTask

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

再帰的な結果を持つ ForkJoinTask

(継承元 Object)
IJavaPeerable.Finalized()

再帰的な結果を持つ ForkJoinTask

(継承元 Object)
IJavaPeerable.JniManagedPeerState

再帰的な結果を持つ ForkJoinTask

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

再帰的な結果を持つ ForkJoinTask

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

再帰的な結果を持つ ForkJoinTask

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

再帰的な結果を持つ ForkJoinTask

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

再帰的な結果を持つ ForkJoinTask

GetJniTypeName(IJavaPeerable)

再帰的な結果を持つ ForkJoinTask

GetAsync(IFuture)

再帰的な結果を持つ ForkJoinTask

GetAsync(IFuture, Int64, TimeUnit)

再帰的な結果を持つ ForkJoinTask

適用対象