android

android countdownlatch和cyclicbarrier区别

小樊
91
2024-11-22 17:10:51
栏目: 编程语言
Android开发服务器,限时0元免费领! 查看>>

CountDownLatch和CyclicBarrier都是Java并发库中的同步辅助工具,它们都可以用来控制多个线程之间的执行顺序,但它们之间存在一些关键区别:

  1. CountDownLatch:

示例代码:

CountDownLatch latch = new CountDownLatch(3);
new Thread(() -> {
    // 执行任务
    latch.countDown();
}).start();
new Thread(() -> {
    // 执行任务
    latch.countDown();
}).start();
new Thread(() -> {
    // 执行任务
    latch.countDown();
}).start();
latch.await(); // 等待所有线程完成任务
  1. CyclicBarrier:

示例代码:

CyclicBarrier barrier = new CyclicBarrier(3);
new Thread(() -> {
    // 执行任务
    try {
        barrier.await(); // 等待其他线程
    } catch (InterruptedException | BrokenBarrierException e) {
        e.printStackTrace();
    }
}).start();
new Thread(() -> {
    // 执行任务
    try {
        barrier.await(); // 等待其他线程
    } catch (InterruptedException | BrokenBarrierException e) {
        e.printStackTrace();
    }
}).start();
new Thread(() -> {
    // 执行任务
    try {
        barrier.await(); // 等待其他线程
    } catch (InterruptedException | BrokenBarrierException e) {
        e.printStackTrace();
    }
}).start();

总结:

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

相关推荐:android countdownlatch怎样避免死锁

0
看了该问题的人还看了