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

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

背景

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

实现

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

代码

  1. package com.langjialing;

  2. import java.awt.*;

  3. public class ThreadJoin implements Runnable{
  4. @Override
  5. public void run() {
  6. for (int i = 0; i < 1000; i++) {
  7. System.out.println("VIP线程……" + i);
  8. }
  9. }

  10. public static void main(String[] args) throws InterruptedException, AWTException {
  11. ThreadJoin tj = new ThreadJoin();
  12. Thread thread = new Thread(tj);
  13. thread.start();

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

  16. for (int i = 0; i < 500; i++) {
  17. System.out.println("主线程……" + i);
  18. if (i == 200){
  19. thread.join();
  20. }
  21. }
  22. }
  23. }

效果

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

总结

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