话不多说,先上代码。
public class TestJoin {
public static void main(String[] args) throws Exception{
ThreadTestJoin t1=new ThreadTestJoin("小王");
ThreadTestJoin t2=new ThreadTestJoin("小明");
t1.start();
t1.join();
t2.start();
}
}
public class ThreadTestJoin extends Thread{
public ThreadTestJoin(String name) {
super(name);
}
@Override
public void run() {
for(int i=0;i<10;i++){
System.out.println(this.getName()+i);
}
}
}
join()//当我们调用某个线程的这个方法时,这个方法会挂起调用线程,直到被调用线程结束执行,调用线程才会继续执行
运行结果如下图所示:
然后测试join方法写在start方法前面会有如下结果:
结果证明,每次执行结果都是随机的,所以join方法必须在线程start方法调用之后调用才有意义。