线程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()方法后,主线程只有等待子线程计算完成后,才会返回结果。

你可能感兴趣的:(线程join方法)