Maison >développement back-end >C++ >Comment implémenter un minuteur dans une application console C# ?

Comment implémenter un minuteur dans une application console C# ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-20 05:07:10640parcourir

How to Implement a Timer in a C# Console Application?

Créer une minuterie dans votre application console C#

Ce guide montre comment intégrer un timer dans une application console C# à l'aide de la classe System.Threading.Timer. Cette classe simplifie le processus d'exécution d'une méthode à plusieurs reprises à des intervalles définis.

Exemple de mise en œuvre :

Le code suivant montre comment créer un objet Timer, en définissant sa méthode de rappel, son intervalle d'exécution (en millisecondes) et un objet d'état facultatif :

<code class="language-csharp">using System;
using System.Threading;

public class TimerExample
{
    private Timer _timer;

    public void Main(string[] args)
    {
        // Creates a timer that calls TimerCallback every 2 seconds (2000 milliseconds)
        _timer = new Timer(TimerCallback, null, 0, 2000);

        // Keeps the console application running until the user presses Enter
        Console.ReadLine();
    }

    private void TimerCallback(object state)
    {
        // Actions to perform at each timer interval, e.g., updating data or displaying a message
        Console.WriteLine("Timer event triggered at: " + DateTime.Now);
    }
}</code>

Optimisation avec GC.KeepAlive()

Dans les situations impliquant l'exécution fréquente de boucles, une consommation inutile de ressources peut survenir. La méthode GC.KeepAlive() permet d'optimiser le garbage collection, conduisant à une meilleure gestion de la mémoire.

Code amélioré :

Ce code mis à jour intègre GC.KeepAlive() pour une meilleure gestion des ressources :

<code class="language-csharp">// ... previous code ...
private static void TimerCallback(Object o) 
{
   GC.KeepAlive(o); // Prevents premature garbage collection of the 'o' object

   // ... rest of the TimerCallback method ...
}</code>

Ces méthodes permettent une intégration efficace du minuteur dans votre application console C#, permettant l'exécution de tâches planifiées à des intervalles définis.

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