我正在开发一款游戏,我正在为我的加载屏幕使用多个线程,以加载音乐和纹理。
我以这种方式启动线程:
backgroundgeluidThread = new Thread(loadmusic);
backgroundtexturesThread = new Thread(loadtextures);
backgroundgeluidThread.Start();
backgroundtexturesThread.Start();
之后,我使用Thread.Sleep(8000)
,因为我不知道线程何时停止并完成了他们的工作。我可以在IDE的输出中看到它,但我不知道我的线程何时完成。
先谢谢,如果你不明白我的问题,请问我。
答案 0 :(得分:5)
如果你想等待线程完成调用它的Join()
方法:
backgroundgeluidThread.Join();
backgroundtexturesThread.Join();
线程完成后会直接返回。
答案 1 :(得分:1)
检查出来:http://msdn.microsoft.com/en-us/library/95hbf2ta.aspx
使用Thread.Join阻塞直到线程完成,因为你有2个线程并且需要等待两个线程,你可以一个接一个地“加入”它们:
firstThread.Join();
secondThread.Join();
答案 2 :(得分:1)
使用Thread.Join使调用代码等待,直到指定的线程完成执行。