IFuture Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Future
un objeto representa el resultado de un cálculo asincrónico.
[Android.Runtime.Register("java/util/concurrent/Future", "", "Java.Util.Concurrent.IFutureInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "V" })]
public interface IFuture : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/util/concurrent/Future", "", "Java.Util.Concurrent.IFutureInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "V" })>]
type IFuture = interface
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Derivado
- Atributos
- Implementaciones
Comentarios
Future
un objeto representa el resultado de un cálculo asincrónico. Se proporcionan métodos para comprobar si se ha completado el cálculo, esperar su finalización y recuperar el resultado del cálculo. El resultado solo se puede recuperar mediante el método get
cuando se ha completado el cálculo, bloqueando si es necesario hasta que esté listo. El método realiza la cancel
cancelación. Se proporcionan métodos adicionales para determinar si la tarea se completó normalmente o se canceló. Una vez completado un cálculo, no se puede cancelar el cálculo. Si desea usar un Future
para la cancelabilidad, pero no proporcionar un resultado utilizable, puede declarar tipos del formulario Future<?>
y devolver null
como resultado de la tarea subyacente.
<b>Uso de< ejemplo/b> (tenga en cuenta que todas las clases siguientes están compuestas).
{@code
interface ArchiveSearcher { String search(String target); }
class App {
ExecutorService executor = ...;
ArchiveSearcher searcher = ...;
void showSearch(String target) throws InterruptedException {
Callable<String> task = () -> searcher.search(target);
Future<String> future = executor.submit(task);
displayOtherThings(); // do other things while searching
try {
displayText(future.get()); // use future
} catch (ExecutionException ex) { cleanup(); return; }
}
}}
La FutureTask
clase es una implementación de Future
que implementa Runnable
y, por tanto, una Executor
. Por ejemplo, la construcción anterior con submit
podría reemplazarse por:
{@code
FutureTask<String> future = new FutureTask<>(task);
executor.execute(future);}
Efectos de coherencia de memoria: las acciones realizadas por el cálculo <asincrónico i>se producen antes< de que/i> después de las acciones correspondientes Future.get()
en otro subproceso.
Agregado en 1.5.
Documentación de Java para java.util.concurrent.Future
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Propiedades
Handle |
Obtiene el valor JNI del objeto Android subyacente. (Heredado de IJavaObject) |
IsCancelled |
Devuelve |
IsDone |
Devuelve |
JniIdentityHashCode |
Devuelve el valor de |
JniManagedPeerState |
Estado del mismo nivel administrado. (Heredado de IJavaPeerable) |
JniPeerMembers |
Compatibilidad con la invocación y el acceso de miembros. (Heredado de IJavaPeerable) |
PeerReference |
Devuelve una JniObjectReference de la instancia de objeto Java ajustada. (Heredado de IJavaPeerable) |
Métodos
Cancel(Boolean) |
Intenta cancelar la ejecución de esta tarea. |
Disposed() |
Se llama cuando se ha eliminado la instancia. (Heredado de IJavaPeerable) |
DisposeUnlessReferenced() |
Si no hay referencias pendientes a esta instancia, llama a |
Finalized() |
Se llama cuando se ha finalizado la instancia. (Heredado de IJavaPeerable) |
Get() |
Espera si es necesario para que se complete el cálculo y, a continuación, recupera su resultado. |
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. |
SetJniIdentityHashCode(Int32) |
Establezca el valor devuelto por |
SetJniManagedPeerState(JniManagedPeerStates) |
|
SetPeerReference(JniObjectReference) |
Establezca el valor devuelto por |
UnregisterFromRuntime() |
Anule el registro de esta instancia para que el entorno de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue . (Heredado de IJavaPeerable) |
Métodos de extensión
JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|
GetAsync(IFuture) |
|
GetAsync(IFuture, Int64, TimeUnit) |
|