假设现在有三个线程t1、t2和t3
让t2在t1完成后执行,t3在t2完成后执行
自定义Thread类
public class Thread extends java.lang.Thread {
private String str ;
private int time;
public Thread(String str,int time){
this.str = str;
this.time = time;
}
@Override
public void run() {
try {
sleep(time);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(str);
}
}
Main方法
public static void main(String[] args) throws InterruptedException {
Thread t1 = new Thread("t1",2000);
Thread t2 = new Thread("t2",1000);
Thread t3 = new Thread("t3",500);
t1.start();
t1.join();
t2.start();
t2.join();
t3.start();
t3.join();
System.out.println("main");
}
执行结果
join方法参考文章:【Java】Thread类中的join()方法原理