Join合并线程,待此线程执行完成之后,再执行其他线程,其他线程阻塞,可以想象成插队
实践一下:
package duoxiancheng;
public class TestJoin implements Runnable{
@Override
public void run() {
for (int i = 0; i < 1000; 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 < 500; i++) {
if(i == 200) {
thread.join(); //插队
}
System.out.println("main" + i);
}
}
}
看下结果:
可以看出,join会强制执行自己所属的线程
好了,今天先到这里