join()方法的作用
Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并行执行变为串行执行。当我们调用某个线程的这个方法时,这个方法会挂起调用线程,直到被调用线程结束执行,调用线程才会继续执行。
Demo
package exer;
public class ThreadInSequence{
static ThreadInSequence t = new ThreadInSequence();
class T1 extends Thread{
@Override
public void run() {
System.out.println("t1");
}
}
class T2 extends Thread{
@Override
public void run() {
System.out.println("t2");
}
}
class T3 extends Thread{
@Override
public void run() {
System.out.println("t3");
}
}
public static void main(String[] args) {
// T1执行完毕后,再执行其他线程
t.new T1().start();
try {
t.new T1().join();
} catch (InterruptedException e) {
e.printStackTrace();
}
t.new T2().start();
try {
t.new T2().join();
} catch (InterruptedException e) {
e.printStackTrace();
}
t.new T3().start();
try {
t.new T3().join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
输出结果是:
T1
T2
T3