Java join线程最简单例子

2022-05-06 19:38:04 浏览数 (1)

1、普通多线程

代码语言:javascript复制
package demo;

public class JoinThread extends Thread {

    public JoinThread(String name){
        super(name);
    }

    @Override
    public void run(){
        for(int i=0;i<100;i  ){
            System.out.println(this.getName() i);
        }
    }
    public static void main(String[] args){

        JoinThread t=new JoinThread("子线程");
        t.start();
        System.out.println("主线程");

    }

}

2、join线程

当某个线程调用其他线程的join()方法时,主调线程将等待被调线程执行完毕。

修改上面程序的主方法,其他代码不变

代码语言:javascript复制
    public static void main(String[] args) throws InterruptedException {

        JoinThread t=new JoinThread("子线程");
        t.start();
        //调用t线程的join方法,等待t线程执行完毕
        t.join();
        System.out.println("主线程");

    }

3、超时不候

join()方法有一个常用的重载方法: join(long millis):最长等待被调线程millis毫秒,超时不候。

代码语言:javascript复制
     public static void main(String[] args) throws InterruptedException {

        JoinThread t=new JoinThread("子线程");
        t.start();
        //等待t线程2毫秒,超时不侯
        t.join(2);
        System.out.println("主线程");

    }

0 人点赞