线程join方法

某些情况、主线程中启用了子线程,如果子线程需要大量的算法,需要运算的时间较长,主线程可能会在子线程结束前就结束,这个时候如果想等待子线程结束后再结束主线程,可以使用join()方法。

例:

public class JoinTest {
    public static void main(String[] args) throws InterruptedException {
        Thread thread1= new Thread(()->{
            try {
                Thread.sleep(9000);//子线程处理中
                System.out.println("子线程处理完成");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        });
        thread1.start();
        thread1.join();
        System.out.println("主线程结束");
    }
}

结果:

子线程处理完成
主线程结束

如图上结果所示 ,加入join()方法后,主线程只有等待子线程计算完成后,才会返回结果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    胜浩_ae28阅读 10,534评论 0 23
  • 重点:1.join()的作用是让“主线程”等待“子线程”结束之后才能继续运行2.wait()的作用是让“当前线程”...
    堤岸小跑阅读 5,875评论 0 0
  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 13,876评论 4 56
  • join 是Thread 的方法。 阻塞当前线程,等待到该线程结束,才开始执行后面语句。Join之后类似于Java...
    Alien的小窝阅读 4,320评论 0 2
  • 今天又是忙碌的一天,上午拉着婆婆去买了衣服,又去了二姨家拿书,二姨又给宝贝一大袋子本子,我大约数了一下15...
    俩千金的妈阅读 708评论 0 0