千家信息网

如何实现主线程等待子线程执行完毕再执行

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"如何实现主线程等待子线程执行完毕再执行"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2026年11月03日如何实现主线程等待子线程执行完毕再执行

本篇内容介绍了"如何实现主线程等待子线程执行完毕再执行"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

public static void main(String[] args) {        Thread t1 = new Thread(new Runnable() {                   @Override                public void run() {                        try {                                System.out.println("thread "+Thread.currentThread().getName()+" start to run.");                                Thread.sleep(2000);                                System.out.println("thread " + Thread.currentThread().getName() + " done.");                        } catch (Exception e) {                                e.printStackTrace();                        }                }        });                     System.out.println("main start to run.");        t1.start();        System.out.println("main done.");}

默认情况下,线程t1它不会立马结束,执行结果是

我们希望主线程开始之后,等待子线程运行结束,主线程继续执行 考虑子线程是一个耗时的阻塞操作,我们需要通过程序让子线程运行结束再执行主线程。这里给出如下几种解决办法
①、t1.join()
②、while(t1.isAlive())
③、while(Thread.activeCount()>1)
④、CountDownLatch

  • 方法一 t1.start();后面接上t1.join()

  • 方法二 判断子线程是否还存活

  • 方法三 判断活跃的线程是否大于1

  • 方法四 通过同步工具类CountDownLatch实现

这种办法需要CountDownLatch对象侵入线程run()方法的代码中。最终执行结果和前面几种解决办法一致

CountDownLatch通过await()方法阻塞主线程,等待其他线程运行结束,通过countDown()方法来释放锁,主线程开始执行。

总结:
一、二两种办法需要知道线程的名字,当有很多线程同时执行的时候,有时候,我们是无法直观的知道每个线程的名字,这两个办法用的很少见。
第四种办法在多线程的情况下也可以使用,就是需要设置CountDownLatch latch = new CountDownLatch(n),指定需要等待的线程数。
第三种办法无需知道线程的名字和线程的数量,使用起来很直观。

"如何实现主线程等待子线程执行完毕再执行"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

线程 办法 方法 名字 情况 运行 直观 内容 更多 知识 结果 阻塞 实用 一致 学有所成 接下来 两个 代码 同时 困境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技海报 科技平台互联网 互联网科技财经 互联网科技开发公司 互联网科技公司电话 伴你行互联网科技有限公司 亿人帮互联网科技 互联网科技类展会 华脉科技工业互联网产品 华中科技有哪些互联网大佬 中盈科技互联网信息有限公司 重庆互联网医院沙龙医盟信息科技 崇明区互联网教育科技售后服务 洛阳昕诺飞互联网科技有限公司 青海科技产业互联网发展 皮皮虾互联网科技有限公司 浙南科技城互联网大厦招聘 上海互联网科技公司ppt 互联网领先科技活动 北京天晋互联网科技有限公司 广州大一互联网络科技有限公司 科技与互联网发展 智网互联网科技 上海卓越科技 互联网 深圳互联网科技怎么样 成都玖崟互联网科技有限公司乐商圈怎么样 新兴科技互联网创新大赛颁奖典礼 允成互联网科技有限公司融资 广州千川互联网科技有限公司 亚光科技低轨卫星互联网
0