指在一线程里面调用另一线程join方法时,表示将本线程阻塞直至另一线程终止时再执行
写了个简单的代码
public class TestJoin{
public static void main(String[] args){
Thread2 t2 = new Thread2();
Thread1 t1 = new Thread1(t2);
t1.start();
t2.start();
}
}
class Thread1 extends Thread{
private Thread2 t2;
Thread1(Thread2 t2){
this.t2 = t2;
}
/* (non-Javadoc)
* @see java.lang.Thread#run()
*/
@Override
public void run() {
// TODO Auto-generated method stub
try {
t2.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i = 0; i<5; i++){
System.out.println("yi1:"+i);
}
}
}
class Thread2 extends Thread{
/* (non-Javadoc)
* @see java.lang.Thread#run()
*/
@Override
public void run() {
// TODO Auto-generated method stub
for(int i = 0; i<5; i++){
System.out.println("er2:"+i);
}
}
}
运行结果:
er2:0
er2:1
er2:2
er2:3
er2:4
yi1:0
yi1:1
yi1:2
yi1:3
yi1:4