当前位置: 首页 > 教程 > Java多线程 >

Java 线程join()方法

精华
小牛编辑
141浏览
2023-03-14

1 什么是Java join()方法

Java join() 方法表示等待线程死亡。换句话说,它导致当前正在运行的线程停止执行,直到与之连接的线程完成其任务为止。

2 Java join()方法语法

public void join()throws InterruptedException

或

public void join(long milliseconds)throws InterruptedException

3 Java join()方法例子1

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */
/**
 *  Java join()方法
 */
class Demo extends Thread{
    public void run(){
        for(int i=1;i<=5;i++){
            try{
                Thread.sleep(500);
            }catch(Exception e){
                System.out.println(e);
            }
            System.out.println(i);
        }
    }
    public static void main(String args[]){
        Demo t1=new Demo();
        Demo t2=new Demo();
        Demo t3=new Demo();
        t1.start();
        try{
            t1.join();
        }catch(Exception e){
            System.out.println(e);
        }

        t2.start();
        t3.start();
    }
}

输出结果为:

1
2
3
4
5
1
1
2
2
3
3
4
4
5
5

如上例所示,当t1完成其任务时,t2和t3开始执行。

4 Java join()方法例子2

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */
/**
 *  Java join()方法
 */
class TestJoinMethod2 extends Thread{
    public void run(){
        for(int i=1;i<=5;i++){
            try{
                Thread.sleep(500);
            }catch(Exception e){
                System.out.println(e);
            }
            System.out.println(i);
        }
    }
    public static void main(String args[]){
        TestJoinMethod2 t1=new TestJoinMethod2();
        TestJoinMethod2 t2=new TestJoinMethod2();
        TestJoinMethod2 t3=new TestJoinMethod2();
        t1.start();
        try{
            t1.join(1500);
        }catch(Exception e){
            System.out.println(e);
        }

        t2.start();
        t3.start();
    }
}

输出结果为:

1
2
3
1
1
4
2
2
5
3
3
4
4
5
5

在上面的示例中,当t1完成其任务1500毫秒(3次)后,t2和t3开始执行。