此四种方法都可以实现同样的效果,当然你也可以使用Object的wait() 和 notify()/notifyAll()实现
高频面试题——Thread.join()和CountDownLatch的区别
- Thread.join()是Thread类的一个方法,Thread.join()的实现是依靠Object的wait()和notifyAll()来完成的,而CountDownLatch是JUC包中的一个工具类
ExecutorService service = Executors.newFixedThreadPool(5);final CountDownLatch latch = new CountDownLatch(5);for(int x = 0; x < 5; x++) {service.submit(new Runnable() {public void run() {// do somethinglatch.countDown();}});}latch.await();
- 调用join方法需要等待thread执行完毕才能继续向下执行,而CountDownLatch只需要检查计数器的值为零就可以继续向下执行,相比之下,CountDownLatch更加灵活一些,可以实现一些更加复杂的业务场景 。
如果Java不提供关键字来解决线程之间的通信,锁是对象级别,由于wait,notify,notifyAll都是锁级别的操作,每个对象都可以当做锁所以把他们定义在Object类中是最合适的 。?
【一直搞不懂Java线程通信,这次终于明白了】
推荐阅读
- 一个水煮鸡蛋白的热量
- 重庆|3条私密视频外泄!景甜你糊涂呀,张柏芝阿娇的血泪教训你不懂吗
- 夏文汐|香港知名女星突然宣布复出,疑与富商丈夫离婚,多次被传和小鲜肉搞暧昧
- 景甜|3条私密视频外泄!景甜你糊涂呀,张柏芝阿娇的血泪教训你不懂吗
- 隐婚|大瓜!已婚男星与85后女闺蜜关系不纯,早先隐婚便于乱搞
- 隐婚|曝翻红男星婚后乱搞,与85花闺蜜乱玩,隐婚多年因方便约会
- 隐婚|大瓜!曝已婚翻红男星与85后女闺蜜关系不纯,早先隐婚便于乱搞
- |处于上升期的职场年轻人,到底该不该搞副业?
- 电影|何莉莉:你们笑我是风月片女王,我笑你们不懂70亿港币是有多重!
- 一个胡萝卜的热量