Lenguaje

ScheduledThreadPoolExecutor.ScheduleAtFixedRate Método

Definición

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.

referencia Java referencia para java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtFixedRate.

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.

Se aplica a