怎么实现一个线程执行完后,另一个线程接着执行

 我来答
non羊小ccw
推荐于2017-10-14 · 超过79用户采纳过TA的回答
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:128万
展开全部
可以用join()方法,楼主试试下面的例子,看看是不是你想要的:
public static class T extends Thread{
private final String name;
public T(String name){
this.name = name;
}
@Override
public void run() {
super.run();
for(int i=0; i<1000; i++)
System.err.println(name + "\t" + i);
}

}

public static void main(String[] args) throws Exception{
T t = new T("t1");
T t2 = new T("t2");
t.start();
t.join();
t2.start();
}
如果线程在该时间片内完成,线程就结束了,如果未完成,系统会将该线程放入就绪队列,等待下CPU再度调度运行它,而且是接着上次执行的状态接着执行,如果是从头开始的话,那前面的执行不都是在浪费时间,又何须时间片的概念,还不如让该线程一次执行完,你说是不是,开动你的大脑,其实思想很简单。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式