有三个线程T1 T2 T3,如何保证他们按顺序执行
T3先执行,在T3的run中,调用t2.join,让t2执行完成后再执行t3
在T2的run中,调用t1.join,让t1执行完成后再让T2执行
public class JoinTest {
// 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();
}
}
最新文章
- NOIP2016日记
- CSRF攻击与防御
- Codeforces 549A. Face Detection[模拟]
- GridView控件RowDataBound事件的一个实例
- iOS 设置button文字过长而显示省略号的解决办法
- Tomcat Clustering - A Step By Step Guide --转载
- WeisEditor 3.2.1B 使用说明 [源码下载]
- [转]Openstack neutron 防火墙
- (转)使用OpenVPN的一些注意事项
- 计算几何(凸包):SHTSC 2012 信用卡凸包
- OpenVPN多处理之-netns容器与iptables CLUSTER
- 分析Array.apply(null, { length: 5 })
- asp.net core系列 44 Web应用 布局
- centos7 64运行32位程序
- 中文乱码 URLEncode之后,后台获取仍是乱码问题详解
- awk 处理文本:行转列,列转行
- Windows PowerShell 入門(8)-関数編3
- NIO原理解析
- [转]winform利用读取xml获取webconfig
- Python - 字符串的方法及注释
热门文章
- Docker for mac 安装 kong
- ubuntu安装robo3t
- php 03
- 零基础逆向工程25_C++_02_类的成员权限_虚函数_模板
- ArcGIS for Server新建站点异常,Failed to create the site.Failed to configure the server machine'XXXX',Server machine'XXXX' is not a local server machine.
- Garmin APP开发之入门
- 搭建zabbix服务器监控
- Piwik-2.16.1 (OpenLogic CentOS7.2)
- SQLServer从其他表获取的数据更新该表的一部分
- 基于spark Mllib(ML)聚类实战