有三个线程T1 T2 T3,如何保证他们按顺序执行-转载
2016-04-27 10:38
567 查看
T3先执行,在T3的run中,调用t2.join,让t2执行完成后再执行t3
在T2的run中,调用t1.join,让t1执行完成后再让T2执行
在T2的run中,调用t1.join,让t1执行完成后再让T2执行
public class Test { // 1.现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行 public static void main(String[] args) { final Thread t1 = new Thread(new Runnable() { @Override public void run() { System.out.println("t1"); } }); final Thread t2 = new Thread(new Runnable() { @Override public void run() { try { //引用t1线程,等待t1线程执行完 t1.join(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("t2"); } }); Thread t3 = new Thread(new Runnable() { @Override public void run() { try { //引用t2线程,等待t2线程执行完 t2.join(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("t3"); } }); t3.start(); t2.start(); t1.start();//这三个线程启动没有先后顺序的 } }
相关文章推荐
- 黑幕背后的__block修饰符
- 面向结构化编程与面向对象编程
- bootstrap模版
- 溢出判断
- c++使用rapidxml
- 手动/自动选网
- easyui和highcharts 动态加载数据和X轴数据
- 【Android进阶学习】shape和selector的结合使用(转)
- 刨根问底Objective-C Runtime(4)- 成员变量与属性
- Masonry介绍与使用实践(快速上手Autolayout)
- 刨根问底Objective-C Runtime(3)- 消息 和 Category
- 数据结构与算法习题汇总(4)
- java中的缓存技术该如何实现
- 【总结】CSS/CSS3常用样式小结——兼容性
- what the hell it is?!
- Mysql错误: Lock wait timeout exceeded解决办法
- ClassNotFoundException的起因和解决
- ubuntu-16.04中浏览器的配置-字体调整和flash播放器的安装
- Echart颜色设置
- 150. Evaluate Reverse Polish Notation