Maison >développement back-end >C++ >Comment implémenter un minuteur dans une application console C# ?
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!