1. ホーム
  2. c#

[解決済み】「タイマー」を実装するのに最適な方法とは?[重複しています]

2022-04-09 13:32:19

質問

タイマーを実装するのに最適な方法は何ですか?コードサンプルがあれば最高です。この質問では、quot;best"は、最も信頼性が高く(誤作動が少なく)、正確であると定義しています。15秒という間隔を指定した場合、10~20秒ごとではなく、15秒ごとにターゲットメソッドを呼び出したいのです。一方、ナノ秒の精度は必要ない。この例では、14.51秒から15.49秒ごとにメソッドが起動するようにしてもよいだろう。

どのように解決するのですか?

を使用します。 Timer クラスがあります。

public static void Main()
{
    System.Timers.Timer aTimer = new System.Timers.Timer();
    aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
    aTimer.Interval = 5000;
    aTimer.Enabled = true;

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

 // Specify what you want to happen when the Elapsed event is raised.
 private static void OnTimedEvent(object source, ElapsedEventArgs e)
 {
     Console.WriteLine("Hello World!");
 }

Elapsed で指定された X ミリ秒ごとにイベントが発生します。 Interval プロパティを設定します。これは Event Handler メソッドを指定します。上の例では OnTimedEvent .