关注分享主机优惠活动
国内外VPS云服务器

如何使用Java Barrier实现线程同步

在Java中,可以使用CyclicBarrier类来实现线程同步。 CyclicBarrier 是一个同步帮助器类,它允许一组线程在到达特定屏障点之前相互等待。

下面是使用CyclicBarrier实现线程同步的代码示例。

import java.util.concurrent.CyclicBarrier;

public class BarrierExample { [h ] public static void main(String[] args) {
// 创建一个 CyclicBarrier,指定等待的线程数 3
CyclicBarrier Barrier = new CyclicBarrier(3);

// 创建 3 个线程
线程 thread1 = new Thread(new Worker( Barrier));
Thread2 = new Thread(new Worker(barrier));
Thread3 = new Thread(new Worker(barrier) )) ;

// 启动三个线程
thread1.start();[h ] thread2.start();
thread3.start();
}
[h ] 静态类 Worker 是 Runnable {
私有 CyclicBarrier Barrier 实现。

公共 Worker(CyclicBarrier 屏障) {
this.barrier = 屏障;
}

@Override
公共 void run() {
尝试 {
] ] System.out.println(Thread.currentThread().getName() + "正在运行任务...");
// 等待所有线程到达屏障点
Barrier.await();[ h] System.out.println(Thread.currentThread().getName() + "任务完成");
} catch (Exception e) {
e.printStackTrace() ;
}
}[ h] }
}

在上面的例子中,创建了一个 CyclicBarrier 对象,并指定等待线程数为 3。 然后创建三个线程来执行该任务。 每个线程。 每个线程执行任务时,都会调用 Barrier.await() 方法来等待其他线程。 直到所有线程都到达屏障点后才会继续执行。

以上内容来源于网络,不代表本站全部观点。 欢迎关注:zhujipindao.com

未经允许不得转载:主机频道 » 如何使用Java Barrier实现线程同步

评论 抢沙发

评论前必须登录!