2

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

我以这种方式启动线程:

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

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

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

在此先感谢,如果您不理解我的问题,请询问我。

4

3 回答 3

5

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

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

线程结束后会直接返回。

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

于 2012-11-15T12:27:30.347 回答
1

看看这个:http: //msdn.microsoft.com/en-us/library/95hbf2ta.aspx

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

firstThread.Join();
secondThread.Join();
于 2012-11-15T12:24:55.437 回答
1

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

于 2012-11-15T12:28:02.493 回答