如果我需要每小时在后台运行一次任务,我可以使用一个显然将使用单独线程的Timer
对象:http://msdn.microsoft.com/en-us/library/zdzx8wx8.aspx吗?
由此可以看出,没有必要为我的目的使用BackgroundWorker
。这是对的吗?
答案 0 :(得分:1)
这在很大程度上取决于你的任务。 BackgroundWorker组件将为您提供除Timer之外的其他一些功能,包括cancellation support,progress reporting等。但是,如果您只是想每小时放一些东西并且不需要任何其他东西,那么Timer是一个非常轻量级的选择。
您是否研究过使用任务计划程序作为另一种选择?这里有一个整洁的包装:http://taskscheduler.codeplex.com/