Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Minuteries

Les minuteries (Timers) sont des objets légers qui vous permettent de spécifier qu'un délégué est appelé à un moment donné. Un thread du pool effectue l'opération d'attente.

L'utilisation de la classe System.Threading.Timer est simple. Vous créez, en passant un délégué TimerCallback à la méthode de rappel, un Timer, objet représentant l'état qui est passé au rappel, un temps de déclenchement initial et un temps représentant l'intervalle entre les appels du rappel. Pour annuler une minuterie en attente, appelez la fonction Timer.Dispose.

Remarque Remarque

Il existe deux autres classes de minuterie (Timer). La classe System.Windows.Forms.Timer est un contrôle qui utilise les concepteurs visuels et est conçu pour être utilisé dans des contextes d'interface utilisateur ; il déclenche des événements sur le thread d'interface utilisateur. Comme la classe System.Timers.Timer dérive de Component, elle peut être utilisée avec les concepteurs visuels ; elle déclenche également des événements, mais sur un thread ThreadPool. La classe System.Threading.Timer effectue des rappels sur un thread ThreadPool et n'utilise pas du tout le modèle d'événement. Elle fournit également un objet d'état à la méthode de rappel, à la différence des autres minuteries (Timers). Elle est extrêmement légère.

L'exemple de code suivant démarre une minuterie (Timer) qui se déclenche après une seconde (1000 millisecondes) et marque chaque seconde jusqu'à ce que vous appuyiez sur la touche ENTRÉE. La variable qui contient la référence à la minuterie (Timer) est un champ de niveau classe, afin d'empêcher que la minuterie fasse l'objet d'un garbage collection au cours de son exécution. Pour plus d'informations sur un garbage collection agressif, consultez KeepAlive.


using System;
using System.Threading;

public class Example
{
    private static Timer ticker;

    public static void TimerMethod(object state)
    {
        Console.Write(".");
    }

    public static void Main()
    {
        ticker = new Timer(TimerMethod, null, 1000, 1000);

        Console.WriteLine("Press the Enter key to end the program.");
        Console.ReadLine();
    }
}


Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft