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

时间:2009-04-15 15:49:32

标签: c# .net

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

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

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

3)完全不同的东西。

2 个答案:

答案 0 :(得分:6)

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

在内部,我相信系统会跟踪接下​​来的计时器,因此它只需要在任何给定时间监视一个计时器(source/similar question)。

答案 1 :(得分:3)

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