当前位置: 首页 > 工具软件 > T2 > 使用案例 >

【Java面试题】有三个线程 t1,t2,t3,怎么确保它们按顺序执行?

施自珍
2023-12-01

方案有四:

  1. 【抛弃系列,最low】【线程 t1】代码执行完,调用【线程t2】的start()方法,【t2】执行完调用【线程t3】的start()方法;
  2. 使用线程间通信,3个线程使用同一把锁,【线程t1】执行完后,使用 JUC 中 signal()/signalAll() 方法唤醒【线程t2】,以此类推;
  3. 【推荐使用】 使用线程为我们提供的 join() 方法;
  4. 使用 LockSupport 类的 park()unpark(Thread thread) 阻塞方法。

备注:
  代码中使用 sleep() 也是为了更方便复现问题

方案一

  【抛弃系列,最low】方案一是最 low 的一种方式,不做介绍,不建议使用!!!【最终执行顺序:main > t1 > t2 > t3 】

public class SortThread1 <
 类似资料: