文章目录
- CountDownLatch
- 概念
- 主要方法
- 用途
- 示例代码
- CyclicBarrier
- 概念
- 主要方法
- 用途
- 示例代码
- 比较
CountDownLatch
和
CyclicBarrier
都是 Java 并发包
java.util.concurrent
中提供的同步辅助类,用于协调多线程程序中的线程执行顺序。尽管它们有相似之处,但各自的设计目的和使用场景有所不同。
CountDownLatch
概念
CountDownLatch
是一种用于线程间同步的工具类,它允许一个或多个线程等待其他线程完成操作。它的工作原理是通过一个计数器来控制,当计数器的值降为零时,所有等待的线程将被释放。
主要方法
- 构造方法:
CountDownLatch(int count)
创建一个新的CountDownLatch
实例,其中count
表示初始计数器的值。 - countDown():每当一个线程完成了准备工作,就调用此方法来减少计数器的值。
- await():当前线程将等待,直到计数器的值为零,或者线程被中断。