Maison >développement back-end >C++ >Comment puis-je implémenter des minuteries précises en C# ?

Comment puis-je implémenter des minuteries précises en C# ?

DDD
DDDoriginal
2025-01-18 17:56:09924parcourir

How Can I Implement Precise Timers in C#?

Création de minuteries précises en C#

Construire des minuteries fiables et précises en C# nécessite une réflexion approfondie. Par exemple, une minuterie de 15 secondes devrait idéalement se déclencher dans une tolérance étroite, peut-être entre 14,5 et 15,5 secondes.

La System.Timers.TimerClasse : Une solution robuste

La classe System.Timers.Timer offre une approche supérieure de la mise en œuvre de la minuterie. Le code suivant démontre son utilisation :

<code class="language-csharp">public static void Main()
{
    System.Timers.Timer timer = new System.Timers.Timer();
    timer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
    timer.Interval = 5000; // 5 seconds
    timer.Enabled = true;

    Console.WriteLine("Press 'q' to quit.");
    while (Console.Read() != 'q') { }
}

// Timer event handler
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
    Console.WriteLine("Timer triggered!");
}</code>

Fonctionnalité expliquée :

La classe System.Timers.Timer déclenche l'événement Elapsed à des intervalles spécifiés par la propriété Interval (en millisecondes). Cet exemple définit l'intervalle sur 5 000 millisecondes (5 secondes). La méthode OnTimedEvent exécute le code souhaité à chaque fois que l'événement est déclenché.

Cette méthode exploite les mécanismes de minuterie du système d'exploitation, ce qui la rend nettement plus précise et fiable que les méthodes alternatives telles que l'interrogation ou la mise en veille des threads.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn