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