Timer Clase
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í.
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano.
[Android.Runtime.Register("java/util/Timer", DoNotGenerateAcw=true)]
public class Timer : Java.Lang.Object
[<Android.Runtime.Register("java/util/Timer", DoNotGenerateAcw=true)>]
type Timer = class
inherit Object
- Herencia
- Atributos
Comentarios
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. Las tareas se pueden programar para la ejecución única o para la ejecución repetida a intervalos regulares.
Correspondiente a cada Timer objeto es un único subproceso en segundo plano que se usa para ejecutar todas las tareas del temporizador, secuencialmente. Las tareas del temporizador deben completarse rápidamente. Si una tarea del temporizador tarda demasiado tiempo en completarse, "hogs" el subproceso de ejecución de la tarea del temporizador. Esto puede, a su vez, retrasar la ejecución de las tareas posteriores, que pueden "agruparse" y ejecutarse en sucesión rápida cuando (y si) la tarea ofendida finalmente se completa.
Una vez que la última referencia dinámica a un Timer objeto desaparece y todas las tareas pendientes han completado la ejecución, el subproceso de ejecución de tareas del temporizador finaliza correctamente (y se vuelve sujeto a la recolección de elementos no utilizados). Sin embargo, esto puede tardar arbitrariamente en producirse. De forma predeterminada, el subproceso de ejecución de tareas no se ejecuta como un subproceso de demonio, por lo que es capaz de impedir que una aplicación finalice. Si un autor de la llamada desea finalizar rápidamente el subproceso de ejecución de tareas del temporizador, el autor de la llamada debe invocar el método del cancel temporizador.
Si el subproceso de ejecución de tareas del temporizador finaliza inesperadamente, por ejemplo, porque se invoca su stop método, cualquier intento adicional de programar una tarea en el temporizador dará como resultado un IllegalStateException, como si se hubiera invocado el método del cancel temporizador.
Esta clase es segura para subprocesos: varios subprocesos pueden compartir un solo Timer objeto sin necesidad de sincronización externa.
Esta clase no ofrece garantías en tiempo real: programa tareas mediante el Object.wait(long) método .
Java 5.0 introdujo el java.util.concurrent paquete y una de las utilidades de simultaneidad en ella es el java.util.concurrent.ScheduledThreadPoolExecutor ScheduledThreadPoolExecutor que es un grupo de subprocesos para ejecutar repetidamente tareas a una velocidad determinada o retraso. Es eficazmente un reemplazo más versátil para la Timer/TimerTask combinación, ya que permite varios subprocesos de servicio, acepta varias unidades de tiempo y no requiere subclases TimerTask (simplemente implementar Runnable).
ScheduledThreadPoolExecutor La configuración con un subproceso hace que sea equivalente a Timer.
Nota de implementación: esta clase se escala a un gran número de tareas programadas simultáneamente (miles no deben presentar ningún problema). Internamente, usa un montón binario para representar su cola de tareas, por lo que el costo de programar una tarea es O(log n), donde n es el número de tareas programadas simultáneamente.
Nota de implementación: todos los constructores inician un subproceso de temporizador.
Agregado en la versión 1.3.
Java documentación para java.util.Timer.
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.
Constructores
| Nombre | Description |
|---|---|
| Timer() |
Crea un nuevo temporizador. |
| Timer(Boolean) |
Crea un nuevo temporizador cuyo subproceso asociado se puede especificar en Thread#setDaemon ejecutarse como demonio. |
| Timer(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
| Timer(String, Boolean) |
Crea un nuevo temporizador cuyo subproceso asociado tiene el nombre especificado y se puede especificar en Thread#setDaemon ejecutarse como demonio. |
| Timer(String) |
Crea un nuevo temporizador cuyo subproceso asociado tiene el nombre especificado. |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| 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 |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. (Heredado de JavaObject) |
| JniPeerMembers |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| 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() |
Finaliza este temporizador, descartando las tareas programadas actualmente. |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. (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() |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. (Heredado de JavaObject) |
| Equals(Object) |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. (Heredado de JavaObject) |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
| JavaFinalize() |
Obsoletos.
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) |
| 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) |
| Purge() |
Quita todas las tareas canceladas de la cola de tareas del temporizador. |
| Schedule(TimerTask, Date, Int64) |
Programa la tarea especificada para la ejecución repetida de retraso fijo, comenzando en el momento especificado. |
| Schedule(TimerTask, Date) |
Programa la tarea especificada para su ejecución en el momento especificado. |
| Schedule(TimerTask, Int64, Int64) |
Programa la tarea especificada para la ejecución repetida de retraso fijo, comenzando después del retraso especificado. |
| Schedule(TimerTask, Int64) |
Programa la tarea especificada para su ejecución después del retraso especificado. |
| ScheduleAtFixedRate(TimerTask, Date, Int64) |
Programa la tarea especificada para la ejecución repetida de velocidad fija, comenzando en el momento especificado. |
| ScheduleAtFixedRate(TimerTask, Int64, Int64) |
Programa la tarea especificada para la ejecución repetida de velocidad fija, comenzando después del retraso especificado. |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. (Heredado de JavaObject) |
| 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) |
| 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 despierta, 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() |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. (Heredado de JavaObject) |
| IJavaPeerable.Finalized() |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. (Heredado de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. (Heredado de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. (Heredado de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. (Heredado de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. (Heredado de JavaObject) |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| 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) |
Una instalación para que los subprocesos programe tareas para la ejecución futura en un subproceso en segundo plano. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |