您的位置:首页 > 其它

多个线程按顺序执行——join()

2015-09-07 08:30 435 查看
package com.jjyy.thread;
/**
* 假如有三个线程T1,T2,T3,如何保证T2在T3之前执行完成,T1在T2之前完成?
* @author jiangyu 2015年9月7日
* 注意:线程的优先级无法保障线程的执行次序。只不过优先级高的线程获取 CPU 资源的概率大一点而已。
*/
public class JoinTest {
public static void main(String[] args) {

final Thread t1 = new Thread(new Runnable() {

@Override
public void run() {
System.out.println("thread1");
}
});

final Thread t2 = new Thread(new Runnable() {

@Override
public void run() {
try {
// 引用t1线程,等待t1线程执行完
t1.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("thread2");
}
});
Thread t3 = new Thread(new Runnable() {

@Override
public void run() {
try {
//引用t2线程,等待t2线程执行完
t2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("thread3");
}
});
t3.start();
t2.start();
t1.start();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: