同步器是一些使线程可以等待另外一个线程的对象, 以容许他们协调工做.spa
同步器的种类 CountDownLatch, Semaphore, CyclicBarrier and Exchanger.线程
CountDownLatch倒计数同步器是一个一次性障碍, 容许一个或多个线程等待一个或多个其它线程作完某件事情.对象
调用CountDownLatch(int number)构造器初始化计数.同步
在等待线程上调用CountDownLatch.await()以阻塞线程.it
在工做线程上调用CountDownLatch.countDown()以减小计数, 当计数为0时激活其它全部等待线程.cli
在实际工做中根据业务逻辑的复杂度, 有可能同时有多个同步器存在, 多个线程的初始化, 执行, 收尾等若是须要屡次等待则须要多个同步器.map
在使用多个同步器时 可能出现死锁情形, 须要特别注意(很好用但也很危险).co