CountDownLatch、CyclicBarrier、Semaphore案例_inexaustible的博客-CSDN博客
以下是每个的例子:
一、
目录
3、CyclicBarrier与CountDownLacth对比
1、定义
CountDownLatch是一个同步工具类,它通过一个计数器来实现的,初始值为线程的数量。每当一个线程完成了自己的任务,计数器的值就相应得减1。当计数器到达0时,表示所有的线程都已执行完毕,然后在等待的线程就可以恢复执行任务。
2、方法详解
3、代码案例
(1)教室关门案例,main最后执行
import java.util.concurrent.CountDownLatch;
public class CountDownLatchDemo {
public static void main(String[] args) throws InterruptedException {
CountDownLatch countDownLatch = new CountDownLatch(6);
for (int i = 1; i <= 6; i++) {
new Thread(() -> {
countDownLatch.countDown();
System.out.println(Thread.currentThread().getName() + "已退出");
}, String.valueOf(i)).start();
}
countD