什么是join?
thread.join即中断正在执行的程序,转而执行Runnable实现类中的run方法中的代码,使原线程阻塞,优先强制执行join的Thread中的代码。
线程阻塞代码如下:
package duoxiancheng;
public class TestJoin implements Runnable{
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("线程vip来了"+i);
}
}
public static void main(String[] args) throws InterruptedException {
//启动我们的线程
TestJoin testJoin=new TestJoin();
Thread thread=new Thread(testJoin);
thread.start();
//主线程
for (int i = 0; i < 20; i++) {
if(i==10){
thread.join();//主线程运行至200的时候会遇到thread类中的join方法,主线程会被阻塞,然后执行run方法中的代码
}
System.out.println("主函数中的i为"+i);
}
}
}
线阻塞代码以及运行结果如下: