VB.NET 4.0:想要执行多个线程,但要等到所有线程都完成后才能恢复

时间:2011-10-19 20:23:48

标签: vb.net multithreading

我刚刚有一个新的,最后一刻的想法来承担任务,所以我正在运行StackExchange以获得快速帮助。

我想要做的是连续执行一系列方法,每个方法都在自己的线程中。我希望应用程序等到所有这些线程都完成,之后程序将恢复。它还必须使用托管线程(线程池)。

您可以提供哪些简单的示例来帮助我一路走来?如果它太复杂,我应该知道什么,以便我可以自己谷歌?

1 个答案:

答案 0 :(得分:4)

如果您使用的是.NET 4,最好使用任务并行库。

在这种情况下,最简单的方法听起来像Parallel.Invoke,它将使用适当的并行度调用每个Action代表集合,并等待它们在返回之前全部完成。

如果您需要更精细的控制,则可以将每个控件作为单独的Task启动,然后使用Task.WaitAll等待所有操作完成。