方案有四:
- 【抛弃系列,最low】【线程 t1】代码执行完,调用【线程t2】的start()方法,【t2】执行完调用【线程t3】的start()方法;
- 使用线程间通信,3个线程使用同一把锁,【线程t1】执行完后,使用 JUC 中
signal()/signalAll()
方法唤醒【线程t2】,以此类推; - 【推荐使用】 使用线程为我们提供的
join()
方法; - 使用 LockSupport 类的
park()
和unpark(Thread thread)
阻塞方法。
备注:
代码中使用 sleep() 也是为了更方便复现问题
方案一
【抛弃系列,最low】方案一是最 low 的一种方式,不做介绍,不建议使用!!!【最终执行顺序:main >