如何防止c#系统.Timers阻止事件阻塞后续事件

本文关键字:事件 何防止 系统 Timers | 更新日期: 2023-09-27 18:15:55

我有一个使用System的c#应用程序。Timers反复调用函数的计时器。问题是,根据工作负载的不同,如果函数调用的处理达到一定的CPU使用百分比(98-100%),则任何后续事件都将被阻塞。

是否有办法防止这种情况,使事件不被阻塞?

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

如何防止c#系统.Timers阻止事件阻塞后续事件

是,设置定时器属性AutoReset为true

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