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

最近开始拜读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啦。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值