首页 > 编程语言 > 详细

线程中的join()方法

时间:2019-12-05 16:38:41      阅读:96      评论:0      收藏:0      [点我收藏+]

作用:
join()方法的作用就是让主线程等待子线程执行结束之后再运行主线程。

public class Father{

    public static void main(String[] args){
        try {
            // 新建“线程t1”
            Son t1 = new Son("t1");

            // 启动“线程t1”
            t1.start();
            // 将“线程t1”加入到“主线程main”中,并且“主线程main()会等待它的完成”
            t1.join();
            System.out.printf("%s finish\n", Thread.currentThread().getName());
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    static class Son extends Thread{

        public Son(String name){
            super(name);
        }
        @Override
        public void run(){
            System.out.printf("%s start\n", this.getName());

            for(int i=0; i <10000; i++){
                // 延时操作
            };
            System.out.printf("%s finish\n", this.getName());
        }
    }
}

最终执行的结果:

1 t1 start
2 t1 finish
3 main finish

从上面代码中可以看出,在Father类中通过new来创建了一个Son对象,子线程调用了join()方法之后,主线程被阻塞,等待子线程执行结束之后,主线程继续执行。

线程中的join()方法

原文:https://www.cnblogs.com/realydie/p/11989407.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!