解决方法
您可以拥有尽可能多的后台工作人员并同时运行.例:
var worker1 = new BackgroundWorker { WorkerReportsProgress = true }; var worker2 = new BackgroundWorker { WorkerReportsProgress = true }; DoWorkEventHandler doWork = (sender,e) => { for (int i = 0; i < 10; i++) { var progress = (int)((i + 1) * 100.0 / 10); var worker = (BackgroundWorker)sender; worker.ReportProgress(progress); Thread.Sleep(500); } }; worker1.DoWork += doWork; worker2.DoWork += doWork; worker1.ProgressChanged += (sender,e) => { label1.Text = e.ProgressPercentage.ToString(); }; worker2.ProgressChanged += (sender,e) => { label2.Text = e.ProgressPercentage.ToString(); }; worker1.RunWorkerAsync(); Thread.Sleep(1000); worker2.RunWorkerAsync();