我有一个 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/