多线程-join方法使用

 

 

 

1、join的用法

join可以让调用线程等待,直到被调用线程执行完成之后,才开始接着执行当前线程

例子:

public class JoinTest {

    public static void main(String[] args) {
        System.out.println("存活的线程为"+Thread.activeCount());
        Thread one = new Thread(new Runnable() {
            @Override
            public void run() {
                for (int i =0;i<10;i++){
                    try {
                        Thread.sleep(10);

                    }catch (Exception e){
                        e.printStackTrace();
                    }
                    System.out.println("输出线程的个数为"+i);
                }
            }
        });

        one.start();
        System.out.println("存活的线程为"+Thread.activeCount());

        try {
            one.join();  //主线程调用join方法,进入等待,等线程One执行完成后,才会接着往下执行
        }catch (Exception e){
            e.printStackTrace();
        }
        System.out.println("线程执行完毕");
    }

输出结果:

存活的线程为2
存活的线程为3
输出线程的个数为0
输出线程的个数为1
输出线程的个数为2
输出线程的个数为3
输出线程的个数为4
输出线程的个数为5
输出线程的个数为6
输出线程的个数为7
输出线程的个数为8
输出线程的个数为9
线程执行完毕

posted @ 2022-06-30 19:50  xzlnuli  阅读(218)  评论(0编辑  收藏  举报