背景
多线程的线程插队执行-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方法可以强制插队执行线程。