我有一些在一定时间后会过期的对象。现在,我正在使用Single Timer每10秒引发一次事件,并通过对象集合运行,看看是否有过期的东西。

取而代之的是,我正在考虑为每个对象添加一个计时器,并将其设置为触发一个事件,该事件在所需的时间到期。
我认为最合适的计时器是System.Timers.Timer
有没有人对此有任何想法?

我有一个测试平台,因此我可以比较现在的内容和重构的实现,但是在开始之前,我想这是一个好主意。

最佳答案

与您提到的相比,我更喜欢System.Threading.Timer。原因是System.Timers.Timer将使用所有未处理的异常,因此会在应用程序中隐藏错误。

我还将列出对象并在timer方法中进行遍历。这是一种合理的方法,并且实施起来并不难(保持简单和愚蠢)

不这样做的唯一原因是,在10秒(而不是11或12秒)之后检查对象很重要。这完全取决于每次执行需要多长时间。

08-28 10:16
查看更多