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啦。



你可能感兴趣的:(java,多线程)