ScheduledThreadPoolExecutor.ScheduleAtFixedRate Método
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í.
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 initialDelayde , luego initialDelay + period, initialDelay + 2 * period, y así sucesivamente.
[Android.Runtime.Register("scheduleAtFixedRate", "(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;", "GetScheduleAtFixedRate_Ljava_lang_Runnable_JJLjava_util_concurrent_TimeUnit_Handler")]
public virtual Java.Util.Concurrent.IScheduledFuture? ScheduleAtFixedRate(Java.Lang.IRunnable? command, long initialDelay, long period, Java.Util.Concurrent.TimeUnit? unit);
[<Android.Runtime.Register("scheduleAtFixedRate", "(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;", "GetScheduleAtFixedRate_Ljava_lang_Runnable_JJLjava_util_concurrent_TimeUnit_Handler")>]
abstract member ScheduleAtFixedRate : Java.Lang.IRunnable * int64 * int64 * Java.Util.Concurrent.TimeUnit -> Java.Util.Concurrent.IScheduledFuture
override this.ScheduleAtFixedRate : Java.Lang.IRunnable * int64 * int64 * Java.Util.Concurrent.TimeUnit -> Java.Util.Concurrent.IScheduledFuture
Parámetros
- command
- IRunnable
tarea que se va a ejecutar
- initialDelay
- Int64
tiempo para retrasar la primera ejecución
- period
- Int64
período entre ejecuciones sucesivas
- unit
- TimeUnit
la unidad de tiempo de los parámetros initialDelay y period
Devoluciones
ScheduledFuture que representa la finalización pendiente de la serie de tareas repetidas. El método get() del futuro nunca devolverá normalmente y producirá una excepción tras la cancelación de tareas o la finalización anómala de una ejecución de la tarea.
Implementaciones
- Atributos
Excepciones
Comentarios
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 initialDelayde , luego initialDelay + period, initialDelay + 2 * period, y así sucesivamente.
La secuencia de ejecuciones de tareas continúa indefinidamente hasta que se produzca una de las siguientes finalizaciones excepcionales: <ul><li>La tarea es Future#cancel explícitamente cancelada a través del futuro devuelto.
<Se llama al método > li#shutdowny se llama a la directiva #getContinueExistingPeriodicTasksAfterShutdownPolicy sobre si se debe continuar después de que el apagado no se haya establecido en true, o se llame al método #shutdownNow ; lo que también da lugar a la cancelación de tareas.
<li>Una ejecución de la tarea produce una excepción. En este caso, al llamar Future#get() get a en el futuro devuelto se producirá ExecutionException, manteniendo la excepción como su causa.
</ul> Se suprimen las ejecuciones posteriores. Las llamadas posteriores a Future#isDone isDone() en el futuro devuelto devolverán true.
Dado que el nivel de API 31: si la aplicación está inmovilizada por el congelador de aplicaciones almacenadas en caché de Android antes de que se realice o cancele la tarea de frecuencia fija, la tarea puede ejecutarse muchas veces inmediatamente cuando la aplicación se descongele, como si una sola ejecución del comando hubiera tomado la duración del período inmovilizado para ejecutarse.
Puesto que el nivel de API 36: si alguna ejecución de esta tarea tarda más tiempo que su período, la ejecución posterior se programará durante el período que falta más reciente.
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.