Langage

RecursiveTask Classe

Définition

Un résultat ForkJoinTaskrécursif .

[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
Héritage
Attributs

Remarques

Un résultat ForkJoinTaskrécursif .

Par exemple, voici un programme basé sur des tâches pour l’informatique 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])));
              }
            }}

Ajouté dans la version 1.7.

Documentation Java pour java.util.concurrent.RecursiveTask.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

Nom Description
RecursiveTask()

Constructeur pour les sous-classes à appeler.

RecursiveTask(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Exception

Retourne l’exception levée par le calcul de base, ou si CancellationException elle est annulée, ou null si aucune ou si la méthode n’a pas encore été terminée.

(Hérité de ForkJoinTask)
ForkJoinTaskTag

Retourne la balise de cette tâche.

(Hérité de ForkJoinTask)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
IsCancelled

Retourne true si cette tâche a été annulée avant qu’elle ne soit terminée normalement.

(Hérité de ForkJoinTask)
IsCompletedAbnormally

Retourne true si cette tâche a levé une exception ou a été annulée.

(Hérité de ForkJoinTask)
IsCompletedNormally

Retourne true si cette tâche s’est terminée sans lever d’exception et n’a pas été annulée.

(Hérité de ForkJoinTask)
IsDone

Retourne true si cette tâche s’est terminée.

(Hérité de ForkJoinTask)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Un résultat ForkJoinTaskrécursif .

(Hérité de JavaObject)
JniPeerMembers

Un résultat ForkJoinTaskrécursif .

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
RawRawResult

Retourne le résultat qui serait retourné par Join(), même si cette tâche s’est terminée anormalement ou null si cette tâche n’est pas connue pour avoir été terminée.

(Hérité de ForkJoinTask)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

Nom Description
Cancel(Boolean)

Tente d’annuler l’exécution de cette tâche.

(Hérité de ForkJoinTask)
Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
CompareAndSetForkJoinTaskTag(Int16, Int16)

Définit de manière conditionnelle la valeur de balise de cette tâche de manière atomique.

(Hérité de ForkJoinTask)
Complete(Object)

Termine cette tâche et, si elle n’est pas déjà abandonnée ou annulée, retourne la valeur donnée en raison des appels suivants d’opérations join et d’opérations connexes.

(Hérité de ForkJoinTask)
CompleteExceptionally(Throwable)

Termine cette tâche anormalement et, si elle n’est pas déjà abandonnée ou annulée, elle lève l’exception donnée sur join les opérations associées et les opérations associées.

(Hérité de ForkJoinTask)
Compute()

Calcul principal effectué par cette tâche.

Construct(JniObjectReference, JniObjectReferenceOptions)

Un résultat ForkJoinTaskrécursif .

(Hérité de JavaObject)
Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Un résultat ForkJoinTaskrécursif .

(Hérité de JavaObject)
Equals(Object)

Un résultat ForkJoinTaskrécursif .

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
ExceptionNow()

Un résultat ForkJoinTaskrécursif .

(Hérité de ForkJoinTask)
Exec()

Implémente des conventions d’exécution pour RecursiveTask.

Fork()

Organise l’exécution asynchrone de cette tâche dans le pool dans lequel la tâche actuelle s’exécute, le cas échéant, ou en utilisant le ForkJoinPool#commonPool() cas échéant #inForkJoinPool.

(Hérité de ForkJoinTask)
Get()

Attend si nécessaire que le calcul se termine, puis récupère son résultat.

(Hérité de ForkJoinTask)
Get(Int64, TimeUnit)

Attend si nécessaire pour que le calcul soit terminé au maximum, puis récupère son résultat, le cas échéant.

(Hérité de ForkJoinTask)
GetHashCode()

Retourne une valeur de code de hachage pour l'objet.

(Hérité de Object)
Invoke()

Commence à effectuer cette tâche, attend sa fin si nécessaire et retourne son résultat, ou lève une (décochée) RuntimeException ou Error si le calcul sous-jacent l’a fait.

(Hérité de ForkJoinTask)
JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Join()

Retourne le résultat du calcul lorsqu’il #isDone est terminé.

(Hérité de ForkJoinTask)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
QuietlyComplete()

Termine cette tâche normalement sans définir de valeur.

(Hérité de ForkJoinTask)
QuietlyInvoke()

Commence à effectuer cette tâche et attend sa fin si nécessaire, sans retourner son résultat ou lever son exception.

(Hérité de ForkJoinTask)
QuietlyJoin()

Joint cette tâche, sans retourner son résultat ou lever son exception.

(Hérité de ForkJoinTask)
QuietlyJoin(Int64, TimeUnit)

Tente de joindre cette tâche, en retournant true si elle s’est terminée (éventuellement exceptionnellement) avant le délai d’expiration donné et que le thread actuel n’a pas été interrompu.

(Hérité de ForkJoinTask)
QuietlyJoinUninterruptibly(Int64, TimeUnit)

Tente de joindre cette tâche, en retournant true si elle s’est terminée (éventuellement exceptionnellement) avant le délai d’expiration donné.

(Hérité de ForkJoinTask)
Reinitialize()

Réinitialise l’état interne de la comptabilité de cette tâche, ce qui permet d’obtenir un résultat ultérieur fork.

(Hérité de ForkJoinTask)
ResultNow()

Un résultat ForkJoinTaskrécursif .

(Hérité de ForkJoinTask)
SetForkJoinTaskTag(Int16)

Définit atomiquement la valeur de balise pour cette tâche et retourne l’ancienne valeur.

(Hérité de ForkJoinTask)
SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Un résultat ForkJoinTaskrécursif .

(Hérité de JavaObject)
SetRawResult(Object)

Force le retour de la valeur donnée en conséquence.

(Hérité de ForkJoinTask)
State()

Un résultat ForkJoinTaskrécursif .

(Hérité de ForkJoinTask)
ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation de chaîne de l'objet.

(Hérité de Object)
TryUnfork()

Tente de déplanifier cette tâche pour l’exécution.

(Hérité de ForkJoinTask)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Un résultat ForkJoinTaskrécursif .

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Un résultat ForkJoinTaskrécursif .

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Un résultat ForkJoinTaskrécursif .

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un résultat ForkJoinTaskrécursif .

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un résultat ForkJoinTaskrécursif .

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un résultat ForkJoinTaskrécursif .

(Hérité de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Un résultat ForkJoinTaskrécursif .

(Hérité de ForkJoinTask)

Méthodes d’extension

Nom Description
GetAsync(IFuture, Int64, TimeUnit)

Un résultat ForkJoinTaskrécursif .

GetAsync(IFuture)

Un résultat ForkJoinTaskrécursif .

GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Un résultat ForkJoinTaskrécursif .

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à