join()一个线程加入到当前执行的线程里面当前线程停止等待新加入的线程终止
public class MyThread implements Runnable{
@Override
public void run() {
for (int i =1;i<=20;i++){
System.out.println(Thread.currentThread().getName()+";"+i);
}
}
}
测试类
public class Test {
public static void main(String[] args) {
//创建子线程对象t
Runnable runnable = new MyThread();
Thread t = new Thread(runnable,"MyThread");
t.start();
//主线程main做的事情
for (int i = 1;i<=20;i++){
System.out.println(Thread.currentThread().getName()+";"+i);
//当i=5的时候 强制把t线程加入执行
if (i==5){
try {
t.join();//等待线程终止,等待t线程执行结束 main主线程再继续执行
}catch (InterruptedException e){
e.printStackTrace();
}
}
}
}
}