我的线程何时结束?如何知道?

时间:2012-11-15 12:20:38

标签: c# visual-studio xna

我正在开发一款游戏,我正在为我的加载屏幕使用多个线程,以加载音乐和纹理。

我以这种方式启动线程:

backgroundgeluidThread = new Thread(loadmusic);
backgroundtexturesThread = new Thread(loadtextures);

backgroundgeluidThread.Start();
backgroundtexturesThread.Start();

之后,我使用Thread.Sleep(8000),因为我不知道线程何时停止并完成了他们的工作。我可以在IDE的输出中看到它,但我不知道我的线程何时完成。

先谢谢,如果你不明白我的问题,请问我。

3 个答案:

答案 0 :(得分:5)

如果你想等待线程完成调用它的Join()方法:

backgroundgeluidThread.Join(); 
backgroundtexturesThread.Join();

线程完成后会直接返回。

另请参阅:http://msdn.microsoft.com/en-us/library/95hbf2ta.aspx

答案 1 :(得分:1)

检查出来:http://msdn.microsoft.com/en-us/library/95hbf2ta.aspx

使用Thread.Join阻塞直到线程完成,因为你有2个线程并且需要等待两个线程,你可以一个接一个地“加入”它们:

firstThread.Join();
secondThread.Join();

答案 2 :(得分:1)

使用Thread.Join使调用代码等待,直到指定的线程完成执行。