另个线程如何在一个线程执行完毕后运行另一个线程
发布网友
发布时间:2022-05-03 00:04
我来回答
共1个回答
热心网友
时间:2022-06-28 15:03
可以用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再度调度运行它,而且是接着上次执行的状态接着执行,如果是从头开始的话,那前面的执行不都是在浪费时间,又何须时间片的概念,还不如让该线程一次执行完,你说是不是,开动你的大脑,其实思想很简单。追问每个一毫秒打印Hello的线程呢?