RecursiveTask Kelas

Definisi

Bearing ForkJoinTaskhasil rekursif .

[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
Warisan
Atribut

Keterangan

Bearing ForkJoinTaskhasil rekursif .

Misalnya, berikut adalah program berbasis tugas untuk komputasi 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])));
              }
            }}

Ditambahkan dalam 1.7.

Java dokumentasi untuk java.util.concurrent.RecursiveTask.

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Konstruktor

Nama Deskripsi
RecursiveTask()

Konstruktor untuk subkelas yang akan dipanggil.

RecursiveTask(IntPtr, JniHandleOwnership)

Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime.

Properti

Nama Deskripsi
Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
Exception

Mengembalikan pengecualian yang dilemparkan oleh komputasi dasar, atau CancellationException jika dibatalkan, atau null jika tidak ada atau jika metode belum selesai.

(Diperoleh dari ForkJoinTask)
ForkJoinTaskTag

Mengembalikan tag untuk tugas ini.

(Diperoleh dari ForkJoinTask)
Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
IsCancelled

Mengembalikan true jika tugas ini dibatalkan sebelum selesai secara normal.

(Diperoleh dari ForkJoinTask)
IsCompletedAbnormally

Mengembalikan true jika tugas ini melemparkan pengecualian atau dibatalkan.

(Diperoleh dari ForkJoinTask)
IsCompletedNormally

Mengembalikan true jika tugas ini selesai tanpa melemparkan pengecualian dan tidak dibatalkan.

(Diperoleh dari ForkJoinTask)
IsDone

Mengembalikan true jika tugas ini selesai.

(Diperoleh dari ForkJoinTask)
JniIdentityHashCode

Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop.

(Diperoleh dari Object)
JniManagedPeerState

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari JavaObject)
JniPeerMembers

Bearing ForkJoinTaskhasil rekursif .

PeerReference

Mendapatkan referensi objek JNI untuk peer Java ini.

(Diperoleh dari Object)
RawRawResult

Mengembalikan hasil yang akan dikembalikan oleh Join(), meskipun tugas ini selesai secara tidak normal, atau null jika tugas ini tidak diketahui telah selesai.

(Diperoleh dari ForkJoinTask)
ThresholdClass

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

ThresholdType

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Metode

Nama Deskripsi
Cancel(Boolean)

Mencoba membatalkan eksekusi tugas ini.

(Diperoleh dari ForkJoinTask)
Clone()

Membuat dan mengembalikan salinan objek ini.

(Diperoleh dari Object)
CompareAndSetForkJoinTaskTag(Int16, Int16)

Secara kondisional mengatur nilai tag untuk tugas ini secara atomik.

(Diperoleh dari ForkJoinTask)
Complete(Object)

Menyelesaikan tugas ini, dan jika belum dibatalkan atau dibatalkan, mengembalikan nilai yang diberikan sebagai hasil dari pemanggilan berikutnya dan join operasi terkait.

(Diperoleh dari ForkJoinTask)
CompleteExceptionally(Throwable)

Menyelesaikan tugas ini secara tidak normal, dan jika belum dibatalkan atau dibatalkan, menyebabkannya melemparkan pengecualian yang diberikan pada join dan operasi terkait.

(Diperoleh dari ForkJoinTask)
Compute()

Komputasi utama yang dilakukan oleh tugas ini.

Construct(JniObjectReference, JniObjectReferenceOptions)

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari JavaObject)
Dispose()

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
Dispose(Boolean)

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
DisposeUnlessReferenced()

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari JavaObject)
Equals(Object)

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari JavaObject)
Equals(Object)

Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini.

(Diperoleh dari Object)
ExceptionNow()

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari ForkJoinTask)
Exec()

Menerapkan konvensi eksekusi untuk RecursiveTask.

Fork()

Mengatur untuk menjalankan tugas ini secara asinkron di kumpulan tempat tugas saat ini berjalan, jika berlaku, atau menggunakan ForkJoinPool#commonPool() jika tidak #inForkJoinPool.

(Diperoleh dari ForkJoinTask)
Get()

Menunggu jika perlu untuk menyelesaikan komputasi, lalu mengambil hasilnya.

(Diperoleh dari ForkJoinTask)
Get(Int64, TimeUnit)

Menunggu jika perlu untuk sebagian besar waktu yang diberikan agar komputasi selesai, lalu mengambil hasilnya, jika tersedia.

(Diperoleh dari ForkJoinTask)
GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
Invoke()

Memulai melakukan tugas ini, menunggu penyelesaiannya jika perlu, dan mengembalikan hasilnya, atau melempar (tidak dicentang) RuntimeException atau Error jika komputasi yang mendasar melakukannya.

(Diperoleh dari ForkJoinTask)
JavaFinalize()

Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.

(Diperoleh dari Object)
Join()

Mengembalikan hasil komputasi saat #isDone selesai.

(Diperoleh dari ForkJoinTask)
Notify()

Membangunkan satu utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
NotifyAll()

Membangunkan semua utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
QuietlyComplete()

Menyelesaikan tugas ini secara normal tanpa mengatur nilai.

(Diperoleh dari ForkJoinTask)
QuietlyInvoke()

Memulai melakukan tugas ini dan menunggu penyelesaiannya jika perlu, tanpa mengembalikan hasilnya atau melemparkan pengecualiannya.

(Diperoleh dari ForkJoinTask)
QuietlyJoin()

Menggabungkan tugas ini, tanpa mengembalikan hasilnya atau melemparkan pengecualiannya.

(Diperoleh dari ForkJoinTask)
QuietlyJoin(Int64, TimeUnit)

Mencoba bergabung dengan tugas ini, mengembalikan true jika selesai (mungkin luar biasa) sebelum batas waktu yang diberikan dan utas saat ini belum terganggu.

(Diperoleh dari ForkJoinTask)
QuietlyJoinUninterruptibly(Int64, TimeUnit)

Mencoba bergabung dengan tugas ini, mengembalikan true jika selesai (mungkin luar biasa) sebelum batas waktu yang diberikan.

(Diperoleh dari ForkJoinTask)
Reinitialize()

Mengatur ulang status pembbukuan internal tugas ini, memungkinkan fork.

(Diperoleh dari ForkJoinTask)
ResultNow()

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari ForkJoinTask)
SetForkJoinTaskTag(Int16)

Secara atomis mengatur nilai tag untuk tugas ini dan mengembalikan nilai lama.

(Diperoleh dari ForkJoinTask)
SetHandle(IntPtr, JniHandleOwnership)

Mengatur properti Handle.

(Diperoleh dari Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari JavaObject)
SetRawResult(Object)

Memaksa nilai yang diberikan untuk dikembalikan sebagai hasilnya.

(Diperoleh dari ForkJoinTask)
State()

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari ForkJoinTask)
ToArray<T>()

Membuat array terkelola dari pembungkus array Java ini.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
TryUnfork()

Mencoba membatalkan jadwal tugas ini untuk eksekusi.

(Diperoleh dari ForkJoinTask)
UnregisterFromRuntime()

Membatalkan pendaftaran peer Java ini dari runtime interop.

(Diperoleh dari Object)
Wait()

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>.

(Diperoleh dari Object)
Wait(Int64, Int32)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu.

(Diperoleh dari Object)
Wait(Int64)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IJavaPeerable.Disposed()

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari JavaObject)
IJavaPeerable.Finalized()

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Bearing ForkJoinTaskhasil rekursif .

(Diperoleh dari ForkJoinTask)

Metode Ekstensi

Nama Deskripsi
GetAsync(IFuture, Int64, TimeUnit)

Bearing ForkJoinTaskhasil rekursif .

GetAsync(IFuture)

Bearing ForkJoinTaskhasil rekursif .

GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

Bearing ForkJoinTaskhasil rekursif .

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk