Langage

Timer Classe

Définition

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

[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
Héritage
Attributs

Remarques

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan. Les tâches peuvent être planifiées pour une exécution ponctuelle ou pour une exécution répétée à intervalles réguliers.

Correspondant à chaque Timer objet est un thread d’arrière-plan unique utilisé pour exécuter toutes les tâches du minuteur de manière séquentielle. Les tâches du minuteur doivent se terminer rapidement. Si une tâche de minuteur prend trop de temps pour se terminer, elle « porcs » le thread d’exécution de tâche du minuteur. Cela peut, à son tour, retarder l’exécution des tâches suivantes, ce qui peut « se grouper » et s’exécuter en succession rapide lorsque (et si) la tâche incriminées se termine finalement.

Une fois que la dernière référence dynamique à un Timer objet disparaît et que toutes les tâches en attente ont terminé l’exécution, le thread d’exécution de tâche du minuteur se termine correctement (et devient soumis au garbage collection). Toutefois, cela peut prendre du temps arbitrairement. Par défaut, le thread d’exécution de tâche ne s’exécute pas en tant que thread démon, de sorte qu’il est capable d’empêcher la fin d’une application. Si un appelant souhaite arrêter rapidement le thread d’exécution de tâche d’un minuteur, l’appelant doit appeler la méthode du cancel minuteur.

Si le thread d’exécution de tâche du minuteur se termine de manière inattendue, par exemple, parce que sa stop méthode est appelée, toute nouvelle tentative de planification d’une tâche sur le minuteur entraîne un IllegalStateException, comme si la méthode du cancel minuteur avait été appelée.

Cette classe est thread-safe : plusieurs threads peuvent partager un seul Timer objet sans avoir besoin de synchronisation externe.

Cette classe n’offre pas de garanties en temps réel : elle planifie des tâches à l’aide de la Object.wait(long) méthode.

Java 5.0 a introduit le java.util.concurrent package et l’un des utilitaires d’accès concurrentiel dans ce dernier est celui java.util.concurrent.ScheduledThreadPoolExecutor ScheduledThreadPoolExecutor qui est un pool de threads pour l’exécution répétée de tâches à un débit ou un délai donné. Il s’agit effectivement d’un remplacement plus polyvalent pour la Timer/TimerTask combinaison, car il permet plusieurs threads de service, accepte différentes unités de temps et ne nécessite pas de sous-classe TimerTask (il suffit d’implémenter).Runnable La configuration ScheduledThreadPoolExecutor avec un thread équivaut à Timer.

Remarque d’implémentation : cette classe s’adapte à un grand nombre de tâches planifiées simultanément (des milliers ne doivent présenter aucun problème). En interne, il utilise un tas binaire pour représenter sa file d’attente de tâches, de sorte que le coût de planification d’une tâche est O(log n), où n est le nombre de tâches planifiées simultanément.

Remarque d’implémentation : tous les constructeurs démarrent un thread de minuteur.

Ajouté dans la version 1.3.

Java documentation pour java.util.Timer.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

Nom Description
Timer()

Crée un minuteur.

Timer(Boolean)

Crée un minuteur dont le thread associé peut être spécifié dans Thread#setDaemon s’exécute en tant que démon.

Timer(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

Timer(String, Boolean)

Crée un minuteur dont le thread associé a le nom spécifié et peut être spécifié dans Thread#setDaemon exécuté en tant que démon.

Timer(String)

Crée un minuteur dont le thread associé a le nom spécifié.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

(Hérité de JavaObject)
JniPeerMembers

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

Nom Description
Cancel()

Termine ce minuteur, en ignorant toutes les tâches actuellement planifiées.

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

(Hérité de JavaObject)
Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

(Hérité de JavaObject)
Equals(Object)

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de Object)
JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
Purge()

Supprime toutes les tâches annulées de la file d’attente des tâches de ce minuteur.

Schedule(TimerTask, Date, Int64)

Planifie la tâche spécifiée pour une exécution à retard fixe répétée, en commençant à l’heure spécifiée.

Schedule(TimerTask, Date)

Planifie la tâche spécifiée pour l’exécution à l’heure spécifiée.

Schedule(TimerTask, Int64, Int64)

Planifie la tâche spécifiée pour l’exécution à retard fixe répété, en commençant après le délai spécifié.

Schedule(TimerTask, Int64)

Planifie la tâche spécifiée pour l’exécution après le délai spécifié.

ScheduleAtFixedRate(TimerTask, Date, Int64)

Planifie la tâche spécifiée pour une exécution à taux fixe répété, en commençant à l’heure spécifiée.

ScheduleAtFixedRate(TimerTask, Int64, Int64)

Planifie la tâche spécifiée pour une exécution à taux fixe répété, en commençant après le délai spécifié.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

(Hérité de JavaObject)
ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation sous forme de chaîne de l’objet.

(Hérité de Object)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

(Hérité de JavaObject)

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Une fonctionnalité permettant aux threads de planifier des tâches pour une exécution ultérieure dans un thread en arrière-plan.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à