」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何保證主執行緒等待多執行緒進程完成?

如何保證主執行緒等待多執行緒進程完成?

發佈於2024-11-11
瀏覽:206

How to Ensure the Main Thread Waits for Completion of Multiple Threaded Processes?

等待多線程程序完成

在此程式碼片段中,您創建了多個線程,每個線程在自己的線程中運行一個任務的執行。為了確保主執行緒等待所有子執行緒完成執行後再繼續,可以實作以下方法:

  1. 將執行緒儲存在陣列中:建立一個陣列儲存所有建立的執行緒。這可確保有組織地追蹤其完成狀態。
  2. 啟動所有執行緒: 循環遍歷執行緒陣列並使用 start() 方法啟動每個執行緒。
  3. 在循環中加入線程: 啟動所有線程後,添加一個循環以加入數組中的每個線程。 join() 方法會阻塞呼叫執行緒(在本例中為主執行緒),直到目標執行緒完成執行。
// ... (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 

透過使用 join() 方法,主執行緒會阻塞,直到所有子執行緒完成執行,確保您的程式等待所有任務完成後再繼續執行循環後面的程式碼。這種方法為您提供控制並確保資源被釋放並且程式正確終止。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3