RecursiveTask Clase

Definición

Un rodamiento ForkJoinTaskde resultados recursivo .

[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
Herencia
Atributos

Comentarios

Un rodamiento ForkJoinTaskde resultados recursivo .

Por ejemplo, este es un programa basado en tareas para calcular factoriales:

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

Agregado en la versión 1.7.

Documentación de Java para java.util.concurrent.RecursiveTask.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
RecursiveTask()

Constructor para que las subclases llamen.

RecursiveTask(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Exception

Devuelve la excepción producida por el cálculo base, o si CancellationException se cancela, o null si no se ha completado ninguno o si el método aún no se ha completado.

(Heredado de ForkJoinTask)
ForkJoinTaskTag

Devuelve la etiqueta de esta tarea.

(Heredado de ForkJoinTask)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
IsCancelled

Devuelve true si esta tarea se canceló antes de que se completara normalmente.

(Heredado de ForkJoinTask)
IsCompletedAbnormally

Devuelve true si esta tarea produjo una excepción o se canceló.

(Heredado de ForkJoinTask)
IsCompletedNormally

Devuelve true si esta tarea se completó sin iniciar una excepción y no se canceló.

(Heredado de ForkJoinTask)
IsDone

Devuelve true si esta tarea se completó.

(Heredado de ForkJoinTask)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de JavaObject)
JniPeerMembers

Un rodamiento ForkJoinTaskde resultados recursivo .

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
RawRawResult

Devuelve el resultado devuelto por Join(), incluso si esta tarea se completó de forma anómala o null si no se sabe que se ha completado esta tarea.

(Heredado de ForkJoinTask)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

Métodos

Nombre Description
Cancel(Boolean)

Intenta cancelar la ejecución de esta tarea.

(Heredado de ForkJoinTask)
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
CompareAndSetForkJoinTaskTag(Int16, Int16)

Establece condicionalmente el valor de etiqueta de esta tarea de forma atómica.

(Heredado de ForkJoinTask)
Complete(Object)

Completa esta tarea y, si aún no se ha anulado o cancelado, devuelve el valor especificado como resultado de las invocaciones posteriores de join y las operaciones relacionadas.

(Heredado de ForkJoinTask)
CompleteExceptionally(Throwable)

Completa esta tarea de forma anómala y, si aún no se ha anulado o cancelado, hace que inicie la excepción dada en join las operaciones relacionadas y .

(Heredado de ForkJoinTask)
Compute()

El cálculo principal realizado por esta tarea.

Construct(JniObjectReference, JniObjectReferenceOptions)

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de JavaObject)
Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de JavaObject)
Equals(Object)

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
ExceptionNow()

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de ForkJoinTask)
Exec()

Implementa convenciones de ejecución para RecursiveTask.

Fork()

Organiza para ejecutar de forma asincrónica esta tarea en el grupo en el que se ejecuta la tarea actual, si procede, o usando si ForkJoinPool#commonPool() no #inForkJoinPooles .

(Heredado de ForkJoinTask)
Get()

Espera si es necesario para que se complete el cálculo y, a continuación, recupera su resultado.

(Heredado de ForkJoinTask)
Get(Int64, TimeUnit)

Espera si es necesario para que el cálculo se complete como máximo y, a continuación, recupera su resultado, si está disponible.

(Heredado de ForkJoinTask)
GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
Invoke()

Comienza a realizar esta tarea, espera su finalización si es necesario y devuelve su resultado, o inicia una (desactivada) RuntimeException o Error si el cálculo subyacente lo hizo.

(Heredado de ForkJoinTask)
JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Join()

Devuelve el resultado del cálculo cuando #isDone se realiza.

(Heredado de ForkJoinTask)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
QuietlyComplete()

Completa esta tarea normalmente sin establecer un valor.

(Heredado de ForkJoinTask)
QuietlyInvoke()

Comienza a realizar esta tarea y espera su finalización si es necesario, sin devolver su resultado ni producir su excepción.

(Heredado de ForkJoinTask)
QuietlyJoin()

Combina esta tarea, sin devolver su resultado ni producir su excepción.

(Heredado de ForkJoinTask)
QuietlyJoin(Int64, TimeUnit)

Intenta unir esta tarea, devolviendo true si se completó (posiblemente excepcionalmente) antes del tiempo de espera especificado y el subproceso actual no se ha interrumpido.

(Heredado de ForkJoinTask)
QuietlyJoinUninterruptibly(Int64, TimeUnit)

Intenta unir esta tarea, devolviendo true si se completó (posiblemente excepcionalmente) antes del tiempo de espera especificado.

(Heredado de ForkJoinTask)
Reinitialize()

Restablece el estado de contabilidad interno de esta tarea, lo que permite un posterior fork.

(Heredado de ForkJoinTask)
ResultNow()

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de ForkJoinTask)
SetForkJoinTaskTag(Int16)

Establece de forma atómica el valor de etiqueta de esta tarea y devuelve el valor anterior.

(Heredado de ForkJoinTask)
SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de JavaObject)
SetRawResult(Object)

Fuerza que el valor especificado se devuelva como resultado.

(Heredado de ForkJoinTask)
State()

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de ForkJoinTask)
ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
TryUnfork()

Intenta anular la programación de esta tarea para su ejecución.

(Heredado de ForkJoinTask)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Un rodamiento ForkJoinTaskde resultados recursivo .

(Heredado de ForkJoinTask)

Métodos de extensión

Nombre Description
GetAsync(IFuture, Int64, TimeUnit)

Un rodamiento ForkJoinTaskde resultados recursivo .

GetAsync(IFuture)

Un rodamiento ForkJoinTaskde resultados recursivo .

GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Un rodamiento ForkJoinTaskde resultados recursivo .

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a