线程的join方法表示一个线程等待另一个线程完成后才执行。join方法被调用之后,线程对象处于阻塞状态,有人也把这种方式称为联合线程,就是说把当前线程和当前线程所在的线程联合成一个线程。
class JoinThread extends Thread{
public void run() {
for(int i=0;i<=20;i++) {
System.out.println("join"+i);
}
}
}
public class JoinDemo {
public static void main(String[] args) throws InterruptedException {
JoinThread jt=new JoinThread();
for(int i=0;i<=50;i++) {
System.out.println("main"+i);
if(i==20) {
jt.start();
jt.join();
}
}
}
}
main0
main1
main2
main3
main4
main5
main6
main7
main8
main9
main10
main11
main12
main13
main14
main15
main16
main17
main18
main19
main20
join0
join1
join2
join3
join4
join5
join6
join7
join8
join9
join10
join11
join12
join13
join14
join15
join16
join17
join18
join19
join20
main21
main22
main23
main24
main25
main26
main27
main28
main29
main30
main31
main32
main33
main34
main35
main36
main37
main38
main39
main40
main41
main42
main43
main44
main45
main46
main47
main48
main49
main50