IScheduledExecutorService 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í.
que ExecutorService puede programar comandos para que se ejecuten después de un retraso determinado o para ejecutarse periódicamente.
[Android.Runtime.Register("java/util/concurrent/ScheduledExecutorService", "", "Java.Util.Concurrent.IScheduledExecutorServiceInvoker")]
public interface IScheduledExecutorService : IDisposable, Java.Interop.IJavaPeerable, Java.Util.Concurrent.IExecutorService
[<Android.Runtime.Register("java/util/concurrent/ScheduledExecutorService", "", "Java.Util.Concurrent.IScheduledExecutorServiceInvoker")>]
type IScheduledExecutorService = interface
interface IExecutorService
interface IExecutor
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Derivado
- Atributos
- Implementaciones
Comentarios
que ExecutorService puede programar comandos para que se ejecuten después de un retraso determinado o para ejecutarse periódicamente.
Los schedule métodos crean tareas con varios retrasos y devuelven un objeto de tarea que se puede usar para cancelar o comprobar la ejecución. Los scheduleAtFixedRate métodos y crean y scheduleWithFixedDelay ejecutan tareas que se ejecutan periódicamente hasta que se cancelan.
Los comandos enviados mediante los Executor#execute(Runnable) métodos y ExecutorServicesubmit se programan con un retraso solicitado de cero. También se permiten retrasos negativos y cero (pero no períodos) en schedule métodos y se tratan como solicitudes de ejecución inmediata.
Todos los schedule métodos aceptan>< retrasos y períodos relativos<> y períodos como argumentos, no tiempos absolutos ni fechas. Es una cuestión sencilla transformar un tiempo absoluto representado como en java.util.Date el formulario requerido. Por ejemplo, para programar en un futuro datedeterminado, puede usar: schedule(task, date.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS). Tenga en cuenta, sin embargo, que la expiración de un retraso relativo no debe coincidir con la actual Date en la que la tarea está habilitada debido a protocolos de sincronización de tiempo de red, desfase de reloj u otros factores.
La Executors clase proporciona métodos de fábrica convenientes para las implementaciones scheduledExecutorService proporcionadas en este paquete.
<Ejemplo< de uso de h2>/h2>
Esta es una clase con un método que configura scheduledExecutorService para que pita cada diez segundos durante una hora:
{@code
import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
public void beepForAnHour() {
Runnable beeper = () -> System.out.println("beep");
ScheduledFuture<?> beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
Runnable canceller = () -> beeperHandle.cancel(false);
scheduler.schedule(canceller, 1, HOURS);
}
}}
Agregado en 1.5.
Java documentación para java.util.concurrent.ScheduledExecutorService.
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.
Propiedades
| Nombre | Description |
|---|---|
| Handle |
Obtiene el valor JNI del objeto Android subyacente. (Heredado de IJavaObject) |
| IsShutdown |
Devuelve |
| IsTerminated |
Devuelve |
| JniIdentityHashCode |
Devuelve el valor de |
| JniManagedPeerState |
Estado del mismo nivel administrado. (Heredado de IJavaPeerable) |
| JniObjectReferenceControlBlock |
que |
| JniPeerMembers |
Compatibilidad con la invocación y el acceso de miembros. (Heredado de IJavaPeerable) |
| PeerReference |
Devuelve un JniObjectReference de la instancia de objeto Java ajustada. (Heredado de IJavaPeerable) |
Métodos
| Nombre | Description |
|---|---|
| AwaitTermination(Int64, TimeUnit) |
Bloquea hasta que todas las tareas se hayan completado la ejecución después de una solicitud de cierre, o el tiempo de espera se produzca o se interrumpa el subproceso actual, lo que ocurra primero. (Heredado de IExecutorService) |
| Close() |
Inicia un apagado ordenado en el que se ejecutan las tareas enviadas anteriormente, pero no se aceptarán nuevas tareas. (Heredado de IExecutorService) |
| Disposed() |
Se llama cuando se ha eliminado la instancia. (Heredado de IJavaPeerable) |
| DisposeUnlessReferenced() |
Si no hay referencias pendientes a esta instancia, llama a |
| Execute(IRunnable) |
Ejecuta el comando especificado en algún momento en el futuro. (Heredado de IExecutor) |
| Finalized() |
Se llama cuando se ha finalizado la instancia. (Heredado de IJavaPeerable) |
| InvokeAll(ICollection, Int64, TimeUnit) |
Ejecuta las tareas especificadas, devolviendo una lista de Futuros que contiene su estado y resultados cuando expira todo el tiempo de espera o completo, lo que ocurra primero. (Heredado de IExecutorService) |
| InvokeAll(ICollection) |
Ejecuta las tareas especificadas y devuelve una lista de Futuros que contienen su estado y resultados cuando se completan todos. (Heredado de IExecutorService) |
| InvokeAny(ICollection, Int64, TimeUnit) |
Ejecuta las tareas dadas y devuelve el resultado de uno que se ha completado correctamente (i. (Heredado de IExecutorService) |
| InvokeAny(ICollection) |
Ejecuta las tareas dadas y devuelve el resultado de uno que se ha completado correctamente (i. (Heredado de IExecutorService) |
| Schedule(ICallable, Int64, TimeUnit) |
Envía una tarea de devolución de valor única que se habilita después del retraso especificado. |
| Schedule(IRunnable, Int64, TimeUnit) |
Envía una tarea de un solo disparo que se habilita después del retraso especificado. |
| ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit) |
Envía una acción periódica que se habilita primero después del retraso inicial especificado y, posteriormente, con el período especificado; es decir, las ejecuciones comenzarán después |
| ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit) |
Envía una acción periódica que se habilita primero después del retraso inicial dado y, posteriormente, con el retraso dado entre la terminación de una ejecución y el inicio del siguiente. |
| SetJniIdentityHashCode(Int32) |
Establezca el valor devuelto por |
| SetJniManagedPeerState(JniManagedPeerStates) |
que |
| SetPeerReference(JniObjectReference) |
Establezca el valor devuelto por |
| Shutdown() |
Inicia un apagado ordenado en el que se ejecutan las tareas enviadas anteriormente, pero no se aceptarán nuevas tareas. (Heredado de IExecutorService) |
| ShutdownNow() |
Intenta detener todas las tareas que se ejecutan activamente, detiene el procesamiento de tareas en espera y devuelve una lista de las tareas que estaban esperando la ejecución. (Heredado de IExecutorService) |
| Submit(ICallable) |
Envía una tarea de devolución de valor para su ejecución y devuelve un valor Future que representa los resultados pendientes de la tarea. (Heredado de IExecutorService) |
| Submit(IRunnable, Object) |
Envía una tarea runnable para su ejecución y devuelve un valor Future que representa esa tarea. (Heredado de IExecutorService) |
| Submit(IRunnable) |
Envía una tarea runnable para su ejecución y devuelve un valor Future que representa esa tarea. (Heredado de IExecutorService) |
| 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
| Nombre | Description |
|---|---|
| AwaitTerminationAsync(IExecutorService, Int64, TimeUnit) |
que |
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
que |
| InvokeAnyAsync(IExecutorService, ICollection) |
que |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
que |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |