等待多线程进程完成
在此代码片段中,您创建了多个线程,每个线程在自己的线程中运行一个任务的执行。为了确保主线程等待所有子线程完成执行后再继续,可以实现以下方法:
<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中文网其他相关文章!