在多线程中有多种方法让线程按特定顺序执行,你可以用线程类的join()方法在
一个线程中启动另一个线程,另外一个线程完成该线程继续执行。本质上就变成了“单线程进行执行”。
为了确保三个线程的顺序你应该先启动最后一个(T3调用T2,T2调用T1),这样
T1就会先完成而T3最后完成
代码举例:
public class JoinTest {
public static void main(String[] args) {
// 创建线程对象
Thread t1 = new Thread(() -> {
System.out.println("t1");
}) ;//匿名内部类重写方法,进一步用Lamda方式进行表达;
Thread t2 = new Thread(() -> {
try {t1.join(); // 加入线程t1,只
有t1线程执行完毕以后,再次执行该线程
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("t2");
}) ;
Thread t3 = new Thread(() -> {
try {
t2.join(); // 加入线程
t2,只有t2线程执行完毕以后,再次执行该线程
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("t3");
}) ;
// 启动线程
t1.start();
t2.start();
t3.start();
}
}
线程顺序执行
1017

被折叠的 条评论
为什么被折叠?



