2011-10-19 31 views
1

我刚刚有一个新的最后时刻的想法来承担任务,所以我正在运行到StackExchange以获得快速帮助。VB.NET 4.0:寻找执行多个线程,但等到所有线程都完成后再恢复

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

您可以提供哪些快速示例来帮助我一路走来?如果它太复杂,我应该知道哪些事情,以便我自己Google?

+0

“连续”中的“每个都在自己的线程中”与jive很差。线程之间有顺序。不要启动一个线程并等待它,不妨在没有线程的情况下运行代码。 –

回答

4

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

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

如果您需要更细粒度的控制,则可以将它们分别作为单独的Task启动,并使用Task.WaitAll等待一切完成。

+0

非常好!我觉得很脏,因为它很容易。就好像我在欺骗系统= P。 – oscilatingcretin