我正在开发一个应用程序,它需要按特定顺序执行几项耗时的任务(即通过网络复制大量文件)。我想使用BackgroundWorkers来完成这些任务,以防止UI冻结。
对于顺序任务,可以切换DoWork和RunWorkerCompleted事件处理程序,还是应该使用单独的BackgroundWorkers?
例如:
BGWorker.DoWork += FirstTask_DoWork;
BGWorker.RunWorkerCompleted += FirstTask_RWC;
<RunWorkerAsync>
BGWorker.DoWork -= FirstTask_DoWork;
BGWorker.RunWorkerCompleted -= FirstTask_RWC;
BGWorker.DoWork += SecondTask_DoWork;
BGWorker.RunWorkerCompleted += SecondTask_RWC;
或者
BackgroundWorker FirstTaskWorker = new BackgroundWorker();
BackgroundWorker SecondTaskWorker = new BackgroundWorker();
...
谢谢!