Java多线程之同步辅助类(1)

本文介绍了 Java 并发编程中 CountDownLatch 类的使用方法。CountDownLatch 是一种常用的同步辅助类,可以使主线程等待若干子线程完成任务后再继续执行。文章详细解释了 CountDownLatch 的工作原理及其核心方法 await 和 countDown 的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近开始拜读Java并发编程,鞭策下好久没有写博客的自己。

并发编程一直是编程中的重点,如何实现同步,线程的分配策略,线程池的使用都关系到程序的性能,对于多线程中的锁,信号量,同步机制等基础知识首先要打牢啊。


废话不多说,今天介绍同步辅助类:CountDownLatch

该类会使得某个线程(MainThread)等待其他线程(SubThread)发出一个信号,当所有线程(SubThread)都发出这个信号后,当前线程(MainThread)才能继续进行。

就是实现了一个条件等待。当然使用信号量也能够模拟这个过程。只是这里Java7 提供了一个便利的类实现了这个功能。

CountDownLatch cdl = new CountDownLatch(number)  number指明MainThread 要等待多少个SubThread发出信号后才能继续进行。

CountDownLatch.await()是Mainhread等待SubThread发出信号告诉它已经OK

CountDownLatch.countDown()是SubThread发出信号,表示自己告诉MainThread,我这里已经OK啦。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值