2

我一直在编写多线程应用程序来解决迷宫问题。我从我的Program Class,Main()方法开始一个新线程,开始解决迷宫。然后,如果他发现分叉,他将调用一个静态方法来创建一个新线程。如何等待后台运行的所有线程完成,例如显示完成消息?

这是我正在尝试做的一个骨架:

var explorer = new Explorer(/*Some arguments*/);
var thread = new Thread(explorer.Explore) {Name = "Thread 0"};
thread.Start();

//Thread_0_and_Threads_he_generates_through_static_class.Join()    

Console.WriteLine("I'm done bro.");
Console.ReadKey();

有没有办法做到这一点?老实说,第一次以这种方式使用多线程,所以我为糟糕的代码道歉。我很乐意提供任何其他信息。提前致谢。

4

2 回答 2

3

也许Thread.Join()是您正在寻找的?

您也可能会发现这篇文章很有用。

于 2012-10-17T21:16:44.513 回答
1

多线程是一个非常令人愉快的主题。

由于您是在线程方面迈出第一步,我建议您仔细参考 Microsoft 的Thread Synchronization优秀初学者文章。

快乐的主题!

于 2012-10-17T21:25:49.260 回答