关于等待BackgroundWorker,以下是一些建议:
backgroundWorker.RunWorkerAsync();
backgroundWorker.WaitForExit();
AutoResetEvent waitHandle = new AutoResetEvent(false);
backgroundWorker.RunWorkerCompleted += (sender, args) =>
{
waitHandle.Set();
};
backgroundWorker.RunWorkerAsync();
waitHandle.WaitOne();
ManualResetEvent waitHandle = new ManualResetEvent(false);
backgroundWorker.RunWorkerCompleted += (sender, args) =>
{
waitHandle.Set();
};
backgroundWorker.RunWorkerAsync();
waitHandle.WaitOne();
Task task = Task.Factory.StartNew(() =>
{
backgroundWorker.RunWorkerAsync();
while (backgroundWorker.IsBusy)
{
Thread.Sleep(100);
}
});
task.Wait();
以上是一些可以用来等待BackgroundWorker线程完成其工作的方法,可以根据具体情况选择合适的方法。
领取专属 10元无门槛券
手把手带您无忧上云