当前位置: 代码迷 >> VB Dotnet >> 求解如何让主线程等待创造的其他线程计算完成
  详细解决方案

求解如何让主线程等待创造的其他线程计算完成

热度:120   发布时间:2016-04-25 02:18:52.0
求解怎么让主线程等待创造的其他线程计算完成?
类似这样
Sub XXX
Thread1.start()
Thread2.start()

'获取结果继续计算

End Sub


而thread1和thread2都是计算然后更改一个全局变量的功能
请问怎么样才能在两个线程start之后暂停 sub XXX 等待两个thread计算完成之后再继续运行?
------解决方案--------------------
Thread1.Join()
Thread2.Join()
理论上是这样

不过还是要啰嗦一句,如果你的“主线程”是UI线程的话,那么不要在UI线程上阻塞(包括但不限于调用Thread.Join/Thread.Sleep/Process.WaitForExit这样的函数)
------解决方案--------------------
参考一下.net 4.5 新出的await async关键词
await task1();
await task2();

Task task1(){
}

Task task2(){
}

话说这样,你为什么不干脆同步调用呢?
  相关解决方案