ホームページ >バックエンド開発 >C++ >C# コンソール アプリケーションにタイマーを実装するにはどうすればよいですか?

C# コンソール アプリケーションにタイマーを実装するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-20 05:07:10727ブラウズ

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

C# コンソール アプリケーションでタイマーを構築する

このガイドでは、System.Threading.Timer クラスを使用してタイマーを C# コンソール アプリケーションに統合する方法を説明します。 このクラスは、設定された間隔でメソッドを繰り返し実行するプロセスを簡素化します。

実装例:

次のコードは、Timer オブジェクトを作成し、そのコールバック メソッド、実行間隔 (ミリ秒単位)、およびオプションの状態オブジェクトを定義する方法を示しています。

<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>

GC.KeepAlive()

による最適化

頻繁にループが実行される状況では、不必要なリソースの消費が発生する可能性があります。 GC.KeepAlive() メソッドはガベージ コレクションの最適化に役立ち、メモリ管理の向上につながります。

拡張コード:

この更新されたコードには、リソース処理を改善するために GC.KeepAlive() が組み込まれています。

<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>

これらのメソッドにより、C# コンソール アプリケーションへの効率的なタイマーの統合が可能になり、定義された間隔でスケジュールされたタスクの実行が可能になります。

以上がC# コンソール アプリケーションにタイマーを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。