亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

如何使用Java Barrier實現線程同步

小樊
81
2024-08-16 08:20:37
欄目: 編程語言

在Java中,可以使用 CyclicBarrier 類來實現線程同步。CyclicBarrier 是一個同步輔助類,允許一組線程在達到某個屏障點之前互相等待。

下面是一個使用 CyclicBarrier 實現線程同步的示例代碼:

import java.util.concurrent.CyclicBarrier;

public class BarrierExample {
    public static void main(String[] args) {
        // 創建一個 CyclicBarrier,指定需要等待的線程數量為3
        CyclicBarrier barrier = new CyclicBarrier(3);

        // 創建三個線程
        Thread thread1 = new Thread(new Worker(barrier));
        Thread thread2 = new Thread(new Worker(barrier));
        Thread thread3 = new Thread(new Worker(barrier));

        // 啟動三個線程
        thread1.start();
        thread2.start();
        thread3.start();
    }

    static class Worker implements Runnable {
        private CyclicBarrier barrier;

        public Worker(CyclicBarrier barrier) {
            this.barrier = barrier;
        }

        @Override
        public void run() {
            try {
                System.out.println(Thread.currentThread().getName() + " 正在執行任務...");
                // 等待所有線程到達屏障點
                barrier.await();
                System.out.println(Thread.currentThread().getName() + " 完成任務");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

在上面的示例中,創建了一個 CyclicBarrier 對象并指定需要等待的線程數量為3。然后創建了三個線程,并在每個線程中執行任務。每個線程執行任務時會調用 barrier.await() 方法來等待其他線程,直到所有線程都到達屏障點后才會繼續執行。

0
湖口县| 班玛县| 甘肃省| 井冈山市| 房产| 石河子市| 新绛县| 遂溪县| 黄冈市| 阜平县| 尼木县| 平原县| 香港| 班戈县| 开化县| 中江县| 贵溪市| 西乡县| 沭阳县| 龙陵县| 鹿泉市| 闸北区| 登封市| 长沙市| 精河县| 通榆县| 德兴市| 三穗县| 门头沟区| 扎赉特旗| 绥化市| 东丰县| 即墨市| 寿宁县| 准格尔旗| 农安县| 乌鲁木齐市| 喀什市| 灵川县| 古田县| 达日县|