加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 等待两个线程完成

发布时间:2020-12-15 19:48:00 所属栏目:百科 来源:网络整理
导读:如果你有一个主线程启动另外两个线程. 使主线程等待另外两个线程的最简洁方法是什么? 我可以使用bgndworker和sleep spinner来检查bgnd worker的IsBusy,但我认为有更好的方法. 编辑 更多要求: 主线程还有其他一些工作要做(例如GUI). 两个衍生线程应该能够报
如果你有一个主线程启动另外两个线程.
使主线程等待另外两个线程的最简洁方法是什么?

我可以使用bgndworker和sleep spinner来检查bgnd worker的IsBusy,但我认为有更好的方法.

编辑
更多要求:

>主线程还有其他一些工作要做(例如GUI).
>两个衍生线程应该能够报告异常并返回结果值

解决方法

请参阅 this thread的答案.我喜欢 this option ;-p

Forker p = new Forker();
p.Fork(delegate { DoSomeWork(); });
p.Fork(delegate { DoSomeOtherWork(); });
p.Join();

重新返回值/报告异常 – 只需让每个分支在逻辑结束时作为回调…(您可以使用捕获的变量将状态传递到两个分支,包括共享记录器等).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读