如果使用System.Threading.Timer,是否需要BackgroundWorker?

时间:2012-10-06 23:59:11

标签: c# .net multithreading timer backgroundworker

如果我需要每小时在后台运行一次任务,我可以使用一个显然将使用单独线程的Timer对象:http://msdn.microsoft.com/en-us/library/zdzx8wx8.aspx吗?

由此可以看出,没有必要为我的目的使用BackgroundWorker。这是对的吗?

1 个答案:

答案 0 :(得分:1)

这在很大程度上取决于你的任务。 BackgroundWorker组件将为您提供除Timer之外的其他一些功能,包括cancellation supportprogress reporting等。但是,如果您只是想每小时放一些东西并且不需要任何其他东西,那么Timer是一个非常轻量级的选择。

您是否研究过使用任务计划程序作为另一种选择?这里有一个整洁的包装:http://taskscheduler.codeplex.com/