複数のスレッド プロセスの完了を待機しています
このコード スニペットでは、複数のスレッドが作成され、それぞれが独自のスレッド内でタスクを実行しています。実行の。メインスレッドがすべてのサブスレッドの実行が完了するまで待ってから続行するようにするには、次のアプローチを実装できます。
<code class="java">// ... (code as before) public class DoSomethingInAThread implements Runnable { public static void main(String[] args) { Thread[] threads = new Thread[1000]; // Assume 1000 threads for example // Start all threads for (int n = 0; n < 1000; n++) { threads[n] = new Thread(new DoSomethingInAThread()); threads[n].start(); } // Wait for all threads to complete for (int i = 0; i < threads.length; i++) { threads[i].join(); } } public void run() { // ... (code as before) } }</code>
join() メソッドを使用すると、メイン スレッドはブロックされます。すべてのサブスレッドが実行を完了するまで、プログラムはすべてのタスクが完了するのを待ってから、ループに続くコードに進みます。このアプローチにより、制御が可能になり、リソースが解放され、プログラムが正しく終了することが保証されます。
以上がメインスレッドが複数のスレッドプロセスの完了を待機するようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。