【发布时间】:2012-03-01 15:45:06
【问题描述】:
我知道我总能在这里找到很好的答案,所以我有一个新的具有挑战性的问题。至少对我来说,这真的很有挑战性。
这是一个场景:我有一些工作(比如说很多)。其中一些应该以少量的秒间隔执行,而其中一些应该以几个小时的间隔执行。我在列表中有这些工作。
现在,我使用计时器来安排它们。但假设我有 4 个工作:
- job1 - 每 5 秒
- job2 - 每 8 秒
- job3 - 每 23 秒
- job4 - 每 10 小时一次。
现在,我应该将计时器设置为最多 5 秒,以便它可以按指定执行 job1。但是有 8 秒的 job2 将每 10 秒执行一次。当然......我可以选择类似 2 秒的时间......但是现在......每次计时器经过间隔时都会检查 job4,这会导致性能泄漏(正如我所说,我有很多这样的工作,所以大名单)。
所以我在想,也许我可以使用多个计时器,并考虑到它们的执行间隔将作业动态地分组到一些作业桶中……这听起来是最好的选择……我只需要一个聪明的想法来解决这个问题.
这是我的问题...有什么建议吗?
【问题讨论】:
-
您需要将一些问题标记为已回答(如果他们为您提供了答案),以便您继续在此处获得出色的答案
-
我会使用 System.Threading.Tasks 中的任务,每个任务都有自己的计时器对象(.NET 有更多种类的计时器,这里我会使用 System.Threading.Timer)。