对于一个已经在运行的线程,可以使用join方法使其对CPU进行独占,一直到运行完这个线程后,再运行其它的线程。
现在先来总结一下join的无参方法:
class demojoin extends Thread{ //线程类
public void run(){ //线程的run方法
for(int i=1;i<8;i++) //输出数字1~7
System.out.print(i);
}
}
public class testjoin{
public static void main(String[] args) throws InterruptedException{ //join方法会产生异常,必须使用throws语句抛出异常,否则会出错
/*创建2个线程实例*/
demojoin d1 = new demojoin();
demojoin d2 = new demojoin();
/*启动线程实例d1,并使用join方法一直执行到结束,再执行其它线程*/
d1.start();
d1.join();
d2.start();
}
}
执行代码,结果如下:
如预期,线程1完全执行完毕后,系统才去执行线程2的语句