现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
来源:互联网 发布:企业网络建设方案 编辑:程序博客网 时间:2024/05/21 06:53
使用join()方法
public class TestJoin{ public static void main(String[] args) { Thread t1 = new Thread(new T1(), "线程1"); Thread t2 = new Thread(new T2(), "线程2"); Thread t3 = new Thread(new T3(), "线程3"); try { //t1先启动 t1.start(); t1.join(); //t2 t2.start(); t2.join(); //t3 t3.start(); t3.join(); } catch (InterruptedException e) { e.printStackTrace(); } }}class T1 implements Runnable{ @Override public void run() { for (int i = 0; i < 5; i++) { System.out.println(Thread.currentThread().getName()+": "+i); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } }}class T2 implements Runnable{ @Override public void run() { for (int j = 5; j < 10; j++) { System.out.println(Thread.currentThread().getName()+": "+j); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } }}class T3 implements Runnable{ @Override public void run() { for (int i = 10; i < 15; i++) { System.out.println(Thread.currentThread().getName()+": "+i); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } }}还有一种方式,在t3开始前join t2,在t2开始前join t1
public class TestJoin2{ 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(); }}
转自:http://www.cnblogs.com/yzlpersonal/p/5231681.html
0 0
- 1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
- 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行
- 1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
- 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
- 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
- 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行
- 现在有T1、T2、T3三个线程,怎样保证T2在T1执行完后执行,T3在T2执行完后执行
- 1.如果你有三个线程,分别为T1,T2,T3,如何让线程T2在线程T1之后执行,在线程T3之前执行。
- 现有三个线程T1,T2,T3 三个线程依次执行
- 有三个线程T1 T2 T3,如何保证他们按顺序执行
- 有三个线程T1 T2 T3,如何保证他们按顺序执行
- 实现T1线程执行后再执行T2线程,之后再执行T3线程
- 有三个线程T1,T2,T3,下面方法可以确保它们按顺序执行的有()该线程继续执行
- 代码详解の使用CountDownLatch解决面试问题:T1和T2线程执行计算,T3线程计算结果的统计
- SRM 605 T1 T2 T3
- 【JLOI2013】T1、T2、T3 Bzoj3190~3192
- 四个线程t1,t2,t3,t4,分别打印文字,t1只能打印1,t2只能打印2,t3只能打印3,t4只能打印4,打印如下A B C D内容: A:123412341234 B:234123412341
- \t\tt1 t2 t3
- 购物单
- FragmentTabHost简单的主流引用
- 图片搜索比较
- 利用状态模式CSV文件序列化
- 麦子学院-Web前端开发工程师系列培训教程
- 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
- ECharts使用心得总结
- 立体视觉:算法与应用(二)
- 使用weinre在PC端同步远程调试移动端页面(在xampp上部署项目到Tomcat,并通过外网访问(图解). )
- D3_文件操作
- 【FFmpeg(2016)】视频文件分离器(demuxing)——H264&PCM
- (*p)[3]与*p[3]的区别
- 顺序表应用1:多余元素删除之移位算法
- 第一次学java