小编典典

实现“计时器”的最佳方法是什么?

all

实现计时器的最佳方法是什么?一个代码示例会很棒!对于这个问题,“最佳”被定义为最可靠(最少的失火)和精确。如果我指定 15 秒的间隔,我希望每 15
秒调用一次目标方法,而不是每 10 到 20 秒。另一方面,我不需要纳秒精度。在此示例中,该方法每 14.51 - 15.49 秒触发一次是可以接受的。


阅读 67

收藏
2022-06-15

共1个答案

小编典典

使用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 毫秒引发一次,由IntervalTimer 对象的属性指定。它将调用Event Handler您指定的方法。在上面的例子中,它是OnTimedEvent

2022-06-15