CountDownLatch是一个在java1.5被引入同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。countdownlatch在Java开发中应用场景及其广泛,同时也是面试中的高频考点。每一个Java程序员都应该熟练掌握,在本篇文章中,我将会从以下几方面对其进行详细讲解:
一、根据源码刨析CountDownLatch工作原理
- 实现原理
- 源码解析2.1、CountDownLatch内部类Sync2.2、CountDownLatch(n)构造器2.3、countDownLatch.await()方法2.4、 countDownLatch.countDown()方法
二、CountDownLatch的应用实例
- 实现最大的并行性(马拉松比赛同时出发)
- 开始执行前等待其它线程完成各自任务(开董事会等待所有董事到达)
- 死锁检测(检测死循环)
三、CountDownLatch常见的面试题
- 介绍一下CountDownLatch工作原理?
- CountDownLatch 和CyclicBarrier的区别?
- CountDownLatch的使用场景?
- CountDownLatch 类中主要的方法?
阅读全文: http://gitbook.cn/gitchat/activity/5c1a0ca100ef4636973b240b
一场场看太麻烦?成为 GitChat 会员,畅享 1000+ 场 Chat !点击查看