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 に答える