如果功能未完成,计时器是否继续



我目前正在创建一个使用计时器间隔的Windows服务。此计时器每秒重复一次,但可能需要超过一秒的时间才能完成计时器Elapsed事件,该计时器的创建方式如下:

Timer timer = new Timer();
timer.Enabled = true;
timer.Interval = 1000; // 1 second
timer.Elapsed += myFunction;

现在一个简单的问题:即使此计时器尚未完成Elapsed事件,计时器是否继续,还是在Elapsed事件完成后等待并继续?

System.Timers.Timer 类具有AutoReset属性。

如果设置为 false ,计时器将只运行一次,允许您在功能完成后再次启动它。

如果将其设置为 true ,计时器将不会每秒停止并运行您的函数,除非弹出异常。

默认情况下,此属性设置为 true

是的,它确实如此

如果 SynchronizingObject 属性为 null,则会在线程池线程上引发 Elapsed 事件。如果已用事件的处理持续时间超过间隔,则可能会在另一个线程池线程上再次引发该事件。在这种情况下,事件处理程序应该是可重入的。

相关内容

  • 没有找到相关文章

最新更新