如何保证线程的执行顺序,如何保证线程的执行顺序呢?下面就跟小编一起来看一看吧。
如何确保线程的执行顺序?让我们和边肖一起看一看。
步骤阅读工具/材料印刷方法/步骤1阅读类构建方法:1。线程();2.线程(字符串名称);3.线程(可运行的r);4.线程(可运行的r,字符串名称);
-2读取类的2步读取通用方法:start();//启动线程GetID();//获取线程IdGetName();//获取线程名GetPriority();//获取优先级
-3步读数3活着();//确定线程是否处于活动状态IsdAEmon();//判断是否保护线程GetState();//获取线程状态睡眠(长米尔);//睡眠线程连接();//等待线程结束产量();//放弃cpu使用权中断();//中断线程CurrentThread();//获取正在执行的线程对象
步骤读取4以下示例使用join()来实现按顺序执行的线程:
/*
有三个线程T1 T2 T3,如何确保它们按顺序执行-重印
在T2的运行中,调用t1.join,让t1在T2执行之前执行
在t2的运行中,调用t2.join让t2在T3执行之前执行
*/
公共类ThreadByOrder {
静态线程t1 =新线程(新的可运行线程(){
@覆盖
公共void run() {
系统输出打印输入t1);
}
});
静态线程t2 =新线程(新的可运行线程(){
@覆盖
公共void run() {
尝试{
t1 . join();
线程睡眠(500);
}捕获(中断例外e) {
// TODO自动生成的捕获块
e . PrintStackTrace();
}
系统输出打印输入t2);
}
});
静态线程t3 =新线程(新的可运行线程(){
@覆盖
公共void run() {
尝试{
T2 . join();
线程睡眠(500);
}捕获(中断例外e) {
// TODO自动生成的捕获块
e . PrintStackTrace();
}
系统输出打印输入t3);
}
});
阅读上面的代码,确保线程按顺序执行。
-6步阅读结束注意事项如果您不理解,请咨询专业人士。