等待多線程進程完成
在此程式碼片段中,您創建了多個線程,每個線程在自己的線程中運行一個任務的執行。為了確保主執行緒等待所有子執行緒完成執行後再繼續,可以實作以下方法:
<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中文網其他相關文章!