当前位置:   article > 正文

有三个线程T1 T2 T3,如何保证他们按顺序执行_如何保证先拿锁的线程先执行

如何保证先拿锁的线程先执行

T3先执行,在T3的run中,调用t2.join,让t2执行完成后再执行t3

在T2的run中,调用t1.join,让t1执行完成后再让T2执行


  1. public class JoinTest2 {
  2. // 1.现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行
  3. public static void main(String[] args) {
  4. final Thread t1 = new Thread(new Runnable() {
  5. @Override
  6. public void run() {
  7. System.out.println("t1");
  8. }
  9. });
  10. final Thread t2 = new Thread(new Runnable() {
  11. @Override
  12. public void run() {
  13. try {
  14. //引用t1线程,等待t1线程执行完
  15. t1.join();
  16. } catch (InterruptedException e) {
  17. e.printStackTrace();
  18. }
  19. System.out.println("t2");
  20. }
  21. });
  22. Thread t3 = new Thread(new Runnable() {
  23. @Override
  24. public void run() {
  25. try {
  26. //引用t2线程,等待t2线程执行完
  27. t2.join();
  28. } catch (InterruptedException e) {
  29. e.printStackTrace();
  30. }
  31. System.out.println("t3");
  32. }
  33. });
  34. t3.start();
  35. t2.start();
  36. t1.start();
  37. }
  38. }


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/805001
推荐阅读
相关标签
  

闽ICP备14008679号