中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java中countdown的用法是什么

小億
137
2024-06-05 18:33:24
欄目: 編程語言

在Java中,CountDownLatch類可以用來實現倒計時功能。CountDownLatch是一個同步輔助類,它允許一個或多個線程等待其他線程完成操作。

CountDownLatch的用法如下:

  1. 創建一個CountDownLatch對象,并指定計數器的初始值。
  2. 在需要等待的線程調用await()方法等待計數器歸零。
  3. 在其他線程中,通過調用countDown()方法來減少計數器的值。
  4. 當計數器歸零時,所有等待的線程將被喚醒并繼續執行。

示例代碼如下:

import java.util.concurrent.CountDownLatch;

public class CountdownExample {
    public static void main(String[] args) {
        CountDownLatch latch = new CountDownLatch(3);

        new Thread(new Worker(latch, "Worker1")).start();
        new Thread(new Worker(latch, "Worker2")).start();
        new Thread(new Worker(latch, "Worker3")).start();

        try {
            latch.await();
            System.out.println("All workers have completed their tasks");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    static class Worker implements Runnable {
        private CountDownLatch latch;
        private String name;

        Worker(CountDownLatch latch, String name) {
            this.latch = latch;
            this.name = name;
        }

        @Override
        public void run() {
            System.out.println(name + " is working");
            latch.countDown();
        }
    }
}

在上面的示例中,創建了一個CountDownLatch對象并指定初始值為3。然后創建了3個Worker線程,每個線程在執行時都會調用countDown()方法來減少計數器的值。最后在主線程中調用await()方法等待計數器歸零,當所有Worker線程都完成任務后,主線程將被喚醒并輸出提示信息。

0
贺州市| 博客| 余江县| 开江县| 屯门区| 城市| 达日县| 夏河县| 漳平市| 太仆寺旗| 贞丰县| 嵊州市| 金昌市| 措勤县| 宜都市| 阿克苏市| 永州市| 丰台区| 城固县| 运城市| 中牟县| 云安县| 佛学| 阳泉市| 左云县| 芜湖县| 宁化县| 夹江县| 临沂市| 武隆县| 义马市| 长乐市| 金湖县| 峨边| 平果县| 厦门市| 辉南县| 敦煌市| 冕宁县| 天镇县| 招远市|