c# - 如何防止 C# System.Timers 计时器事件阻塞后续事件?

标签 c# events timer system.timers.timer

我有一个 C# 应用程序,它使用重复调用函数的 System.Timers 计时器。问题是,根据工作负载,如果函数调用的处理达到一定的 CPU 使用率 (98-100%),任何后续事件都会被阻止。

有没有一种方法可以防止这种情况发生,从而不会阻止事件?

例如,定时器的事件处理程序是一个执行动态代码的函数,可能需要一些时间和资源来处理。在此类处理过程中, bool 值设置为 true,这会导致任何后续事件调用写入日志文件。但是,一旦事件的处理达到高 CPU 使用率,其他事件将不会写入日志文件。

最佳答案

是的,将 Timers 属性 AutoReset 设置为 true。

阅读:https://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.110).aspx

关于c# - 如何防止 C# System.Timers 计时器事件阻塞后续事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25066056/

相关文章:

c# - 对象复活的用法

c# - Silverlight 媒体播放器位置问题

.net - System.Threading.Timer 对于数千个并发计时器是否足够有效?

c# - Xamarin.ios - 计时器在时间后不执行操作

c# - 为什么垃圾收集器不收集用户控件?

java - android一键下多个事件

java - 为什么 JMenuItem 上的这个 Actionlistener 没有执行?

c# - 多次附加事件处理程序

安卓定时器替代品

c# - 将域模型子计数投影到 View 模型上,无需额外查询