最近开始拜读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啦。
本文介绍了 Java 并发编程中 CountDownLatch 类的使用方法。CountDownLatch 是一种常用的同步辅助类,可以使主线程等待若干子线程完成任务后再继续执行。文章详细解释了 CountDownLatch 的工作原理及其核心方法 await 和 countDown 的用法。
1055

被折叠的 条评论
为什么被折叠?



