当前位置:网站首页>面试官:多个线程执行完毕后,才执行另一个线程,该怎么做?
面试官:多个线程执行完毕后,才执行另一个线程,该怎么做?
2022-08-04 15:59:00 【51CTO】

CountDownLatch
去掉try catch版本
先来演示一下用法,可以看到所有子线程都执行完毕才会执行主线程。实现这个功能主要靠的是CountDownLatch的2个方法await()和countDown()。
new一个CountDownLatch时会传一个计数器的值,上面的例子为3。调用await()方法时判断计数是否为0,如果不为0则呈等待状态。其他线程可以调用countDown()方法将计数减1,当计数减到位0时,则呈等待的线程继续执行。
CyclicBarrier
去掉try catch版本
CountDownLatch的计数器只能使用一次,而CyclicBarrier的计数器可以使用reset()方法重置。挺简单的就不再演示。因为这2个工具类都用到了AQS,而AQS的原理很长,因此在本文就不介绍AQS的实现了
CompletableFuture
去掉try catch版本
参考博客
https://www.jianshu.com/p/2808c93fef12
边栏推荐
- "Research Report on the Development of Global Unicorn Enterprises in the First Half of 2022" released - DEMO WORLD World Innovation Summit ended successfully
- 面渣逆袭:MySQL六十六问,两万字+五十图详解
- 数据分析入门导读
- 5 基本引用类型
- 动手学深度学习_AlexNet
- 【已解决】allure无法生成json文件和AttributeError: module ‘allure‘ has no attribute ‘severity_level‘
- H5 之 文件流转base64下载
- 第三章 Scala运算符
- For循环控制
- DMS 有接口获取每个实例下的数据库列表吗
猜你喜欢

张乐:研发效能的黄金三角及需求与敏捷协作领域的实践|直播回顾

It took half a month to finally make a collection of high-frequency interview questions of first-tier manufacturers
MySQL当前读、快照读、MVCC

第三章 Scala运算符

可视化大屏丑?这篇文章教你如何做美观大屏!

多商户商城系统功能拆解24讲-平台端分销会员

张乐:研发效能的黄金三角及需求与敏捷协作领域的实践

#夏日挑战赛# HarmonyOS 实现一个滑块验证

JVM Tuning-GC Fundamentals and Tuning Key Analysis

花了半个月,终于把一线大厂高频面试题做成合集了
随机推荐
在VMD上可视化hdf5格式的分子轨迹文件
如何实时监控销售数据?销售看板来帮你!
Real-Time Rendering 4th相关资源整理(无需积分 传火)
seaborn
ICDE‘22推荐系统论文之Research篇
GPS satellite synchronization clock, NTP network synchronization clock, Beidou clock server (Jingzhun)
吴恩达机器学习[11]-机器学习性能评估、机器学习诊断
JVM调优-GC基本原理和调优关键分析
界面组件DevExpress ASP.NET Core v22.1 - 增强数据导出功能
It took half a month to finally make a collection of high-frequency interview questions of first-tier manufacturers
张乐:研发效能的黄金三角及需求与敏捷协作领域的实践|直播回顾
Redis持久化操作
#夏日挑战赛# HarmonyOS 实现一个滑块验证
长期更新的一些 pytorch 知识点总结
线上一次JVM FullGC搞得整晚都没睡,彻底崩溃
Beginner crawler notes (collecting data)
保证通信的机制有哪些
全球电子产品需求放缓 三星手机越南工厂每周只需要干 3~4 天
74行代码实现浪漫的红心下落的动画效果
邮差"头":{“retCode”:“999999”