Java实现等待所有子线程结束后再执行一段代码的方法
发布时间 - 2026-01-11 02:59:34 点击率:次本文实例讲述了Java实现等待所有子线程结束后再执行一段代码的方法。分享给大家供大家参考,具体如下:

今天有一个需求是:在一个方法中开启了一个子线程来执行操作,返回值依赖于子线程的执行结果,这样如果要返回正确的值,就需要开启子线程后
主线程等待子线程,然后子线程执行结束后,主线程再继续执行。
主线程等待子线程需要用到:CountDownLatch
代码如下:
import java.util.concurrent.CountDownLatch;
public class Counter {
public static int count = 0;
static CountDownLatch cdl=new CountDownLatch(1000);//这里的数字,开启几个线程就写几
public synchronized static void inc() throws InterruptedException{//注意,如果不加上synchronized,由于并发写入,结果会小于1000
Thread.sleep(1);
count++;
cdl.countDown();
}
public static void main(String[] args) throws InterruptedException{
for(int i = 0; i < 1000; i++){
new Thread(new Runnable(){
public void run() {
// TODO Auto-generated method stub
try {
Counter.inc();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
).start();
}
cdl.await();//主线程等待子线程执行输出
System.out.println(count);
}
}
更多java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
# Java
# 等待
# 子线程
# 结束
# 执行
# 代码
# Java结束线程的三种方法及该如何选择
# 正确结束Java线程的方法
# Java创建与结束线程代码示例
# java通过共享变量结束run停止线程的方法示例
# Java如何判断线程是否结束的三种方法
# 操作技巧
# 结束后
# 几个
# 相关内容
# 感兴趣
# 数据结构
# 给大家
# 所述
# 程序设计
# 有一个
# 就写
# 返回值
# 讲述了
# 依赖于
# 开启了
# util
# brush
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
晋江文学城电脑版官网 晋江文学城网页版直接进入
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
如何在IIS7中新建站点?详细步骤解析
中山网站制作网页,中山新生登记系统登记流程?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
如何用PHP工具快速搭建高效网站?
怎么用AI帮你设计一套个性化的手机App图标?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
黑客如何通过漏洞一步步攻陷网站服务器?
海南网站制作公司有哪些,海口网是哪家的?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
JS实现鼠标移上去显示图片或微信二维码
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
长沙做网站要多少钱,长沙国安网络怎么样?
Laravel如何使用Livewire构建动态组件?(入门代码)
如何用花生壳三步快速搭建专属网站?
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
Laravel如何使用Collections进行数据处理?(实用方法示例)
如何在云虚拟主机上快速搭建个人网站?
如何在阿里云完成域名注册与建站?
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
如何在服务器上三步完成建站并提升流量?
无锡营销型网站制作公司,无锡网选车牌流程?
制作旅游网站html,怎样注册旅游网站?
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
千库网官网入口推荐 千库网设计创意平台入口
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
如何在新浪SAE免费搭建个人博客?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
如何用低价快速搭建高质量网站?
如何快速生成高效建站系统源代码?
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
网站制作企业,网站的banner和导航栏是指什么?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
,交易猫的商品怎么发布到网站上去?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
如何在IIS中新建站点并配置端口与物理路径?
微信小程序 input输入框控件详解及实例(多种示例)
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】

