等待嵌套的BackgroundWorkers完成

Kin*_*oon 0 .net c# vb.net wpf backgroundworker

我有一个UI按钮,可以生成BackgroundWorker.此BackgroundWorker生成几个执行某些操作的BackgroundWorkers.有没有办法等待所有内部BackgroundWorkers在主BackgroundWorker中完成?

And*_*rey 5

您可以创建信号量,将其传递给生成的后台工作者,然后在后台工作者代码调用释放方法的末尾.在主工作者中,WaitOne的确切次数等于生成的工人数量.确保将所有内容都包装好,try ... finally以便在出现问题时应用程序不会挂起.

如果您使用的是.net 4,请考虑使用SemaphoreSlim,它是具有相同功能的轻量级版本.