久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

java怎么等待多個線程結束

137次閱讀
沒有評論

共計 1098 個字符,預計需要花費 3 分鐘才能閱讀完成。

Java 中可以使用 CountDownLatch 類來等待多個線程結束。

CountDownLatch 類是 Java 提供的一個同步輔助類,它可以使一個或多個線程等待其他線程完成操作后再繼續執行。

具體步驟如下:

  1. 創建一個 CountDownLatch 對象,并將計數器初始化為線程數。
  2. 在每個線程的操作完成后,調用 CountDownLatch 對象的 countDown() 方法,將計數器減 1。
  3. 在主線程中,調用 CountDownLatch 對象的 await() 方法,等待所有線程完成操作,當計數器為 0 時,主線程恢復執行。

示例代碼如下:

import java.util.concurrent.CountDownLatch;

public class WaitMultipleThreads {public static void main(String[] args) {int threadCount = 5;
        CountDownLatch latch = new CountDownLatch(threadCount);

        for (int i = 0; i < threadCount; i++) {Thread thread = new Thread(new MyRunnable(latch));
            thread.start();}

        try {latch.await(); // 等待所有線程執行完成 
            System.out.println("All threads have finished.");
        } catch (InterruptedException e) {e.printStackTrace();
        }
    }

    static class MyRunnable implements Runnable {private final CountDownLatch latch;

        public MyRunnable(CountDownLatch latch) {this.latch = latch;
        }

        @Override
        public void run() {// 線程操作邏輯 
            // ...

            latch.countDown(); // 線程執行完畢,計數器減 1 
        }
    }
}

在這個示例中,首先創建了一個 CountDownLatch 對象,并將計數器初始化為 5。然后通過一個循環創建了 5 個線程,并將 CountDownLatch 對象作為參數傳遞給每個線程的構造函數。

在每個線程的 run() 方法中,執行線程操作的邏輯,并在最后調用 latch.countDown() 方法將計數器減 1。

最后,在主線程中調用 latch.await() 方法,等待所有線程執行完成。當計數器為 0 時,主線程恢復執行,輸出 "All threads have finished"。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-13發表,共計1098字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 封开县| 扶风县| 嘉义市| 宾川县| 即墨市| 武清区| 田林县| 中宁县| 澳门| 望奎县| 佛坪县| 兰州市| 武鸣县| 吉木乃县| 贵南县| 英德市| 大同县| 丹巴县| 托里县| 博罗县| 绥江县| 腾冲县| 东辽县| 民县| 长治县| 民和| 沧州市| 镇平县| 永城市| 仲巴县| 巴林左旗| 临江市| 孟州市| 宜川县| 安阳市| 江口县| 长武县| 巴林右旗| 义马市| 和田县| 洛南县|