在C#中安排任务的最佳方式

我正在开发一个C#程序,它需要能够在不同的时间安排各种异步任务。 我需要一个每秒激活一次的解决方案来检查要执行的任务,并尽可能少地占用资源。 它还需要很好地扩展到大量任务。 哪个更好用,或者有没有?

1)使用System.Timers.Timer对象,经过1秒的时间来触发执行任务的事件,或者

2)使用一个hibernate1秒钟的单独线程,然后在唤醒时执行任务,或者

3)完全不同的东西。

System.Threading.Timer非常轻量级。 您可以为每个任务创建一个单独的计时器,以便在任务应该执行时计时器到期。

在内部,我相信系统将跟踪接下来的定时器,因此它只需要在任何给定时间监视一个定时器( 源/类似问题 )。

尝试查看Quartz.Net以满足您的日程安排需求。 我认为这很不错。