多线程的线程强制插队执行-join

郎家岭伯爵 2022年05月10日 506次浏览

背景

多线程的线程插队执行-join。

实现

join方法会强制让线程执行,并在线程执行结束后再开始执行其它线程。

代码

package com.langjialing;

import java.awt.*;

public class ThreadJoin 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, AWTException {
        ThreadJoin tj = new ThreadJoin();
        Thread thread = new Thread(tj);
        thread.start();

//        Robot r = new Robot();
//        r.delay(3000);

        for (int i = 0; i < 500; i++) {
            System.out.println("主线程……" + i);
            if (i == 200){
                thread.join();
            }
        }
    }
}

效果

从此效果图可以明显看出:主线程与VIP线程是同时执行的。但在主线程执行到200时,开启join方法,此后全部执行VIP线程,直到VIP线程执行结束后再继续主线程的执行。

总结

Thread的join方法可以强制插队执行线程。