🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
T3先执行,在T3的run中,调用t2.join,让t2执行完成后再执行t3 在T2的run中,调用t1.join,让t1执行完成后再让T2执行 ~~~ package testThread; import java.util.Date; public class TestThread { //现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行 public static void main(String[] args) { //线程1 final Thread t1 = new Thread(new Runnable() { @Override public void run() { System.out.println("t1"); } }); //线程2 final Thread t2 = new Thread(new Runnable() { @Override public void run() { try { //引用1线程,等待t1线程执行完 t1.join(); } catch (Exception e) { e.printStackTrace(); } System.out.println("t2"); } }); //线程3 final Thread t3 = new Thread(new Runnable() { @Override public void run() { try { //引用2线程,等待t2线程执行完 t2.join(); } catch (Exception e) { e.printStackTrace(); } System.out.println("t3"); } }); //这3个线程启动没有先后顺序 t3.start(); t2.start(); t1.start(); } } ~~~