【多线程】线程强制执行 join()

线程强制执行 join()

  • Join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞 ;
  • 可以想象成插队。

代码示例:

/**
 * @Description 测试join方法
 * @Author hzx
 * @Date 2022-03-26
 */
public class TestJoin implements Runnable {

    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            System.out.println("尊贵的vip来了"+i);
        }
    }

    public static void main(String[] args) throws InterruptedException {
        //主线程
        for (int i = 0; i < 20; i++) {
            if (i==10) {
                //插队线程
                TestJoin testJoin = new TestJoin();
                Thread thread = new Thread(testJoin);
                thread.start(); //启动线程
                thread.join(); //插队
            }
            System.out.println("普通人"+i);
        }
    }
}

执行结果:

普通人0
普通人1
普通人2
普通人3
普通人4
普通人5
普通人6
普通人7
普通人8
普通人9
尊贵的vip来了0
尊贵的vip来了1
尊贵的vip来了2
尊贵的vip来了3
尊贵的vip来了4
尊贵的vip来了5
尊贵的vip来了6
尊贵的vip来了7
尊贵的vip来了8
尊贵的vip来了9
普通人10
普通人11
普通人12
普通人13
普通人14
普通人15
普通人16
普通人17
普通人18
普通人19
posted @ 2022-03-26 23:52  HZX↑  阅读(30)  评论(0编辑  收藏  举报