当Backgroundworker到达“... Completed”事件处理程序时,它是否可以继续工作

时间:2010-04-24 21:06:33

标签: c# .net backgroundworker

如标题中所述。我的背景工作者正在完成它的工作......完成第一个工作 part并调用...已完成的事件处理程序。我可以告诉我的背景工作者继续做另一份工作 DoWork - = OldJob DoWork + = NewJob

也 DoWorkCompleted - = OldJobCompleted DoWorkCompleted + = NewJobCompleted

这可能吗?

2 个答案:

答案 0 :(得分:2)

是的,您可以在完成后重新启动它。你可以先插入另一个DoWork。

但你不应该。

BGW在ThreadPool上执行,因此不必重新使用Thread。因此,避免混乱,只为不同的任务创建单独的Backgroundworkers。

答案 1 :(得分:1)

我之前没有尝试过,但我想它会起作用。您是否还需要更改ProgressChangedRunWorkerCompleted的事件处理程序?

我认为仅仅创建两个后台工作人员会更简单。或者,如果作业非常相似,您可以将现有后台工作人员参数化,以便能够执行这两项任务。