(一)按模板要求,将【代码1】~【代码10】替换为Java程序代码。
程序模板:ThreadExample.java
class Tortoise extends Thread
{
int sleepTime=0,liveLength=0;
Tortoise(int sleepTime,String name,int liveLength){
this.sleepTime=sleepTime;
this.liveLength=liveLength;
this.setName(name); // 设置线程的名字为name
}
public void run(){
while(true)
{
liveLength--;
System.out.print("@");
try{
Thread.sleep(sleepTime); // 让线程调用sleep方法进入中断状态,sleepTime毫秒后线程重新排队,等待CUP资源
}
catch(InterruptedException e){
}
if(liveLength<=0){
System.out.print(getName()+"进入死亡状态\n");
break; // 结束run方法的语句
}
}
}
}
class Rabbit extends Thread{
int sleepTime=0,liveLength;
Rabbit(int sleepTime,String name,int liveLength) {
this.sleepTime=sleepTime;
this.liveLength=liveLength;
this.setName(name); // 设置线程的名字为name
}
public void run(){
while(true){
liveLength--;
System.out.print("*");
try{
Thread.sleep(sleepTime); // 让线程调用sleep方法进入中断状态,sleepTime毫秒后线程重新排队,等待CUP资源
}
catch(InterruptedException e){
}
if(liveLength<=0){
System.out.print(getName()+"进入死亡状态\n");
break; // 结束run方法的语句
}
}
}
}
public class ThreadExample
{
public static void main(String args[ ]){
Rabbit rabit;
rabit=new Rabbit(500,"rabit",4); // 新建线程rabit
Tortoise tortoise;
tortoise=new Tortoise(500,"tortoise",6); // 新建线程tortoise
tortoise.start(); // 启动线程tortoise
rabit.start(); // 启动线程rabit
}
}
- 截图说明程序运行结果。
- 如果【代码10】或【代码9】重复写两次,程序提示怎样的信息?并解释所看到的信息。
在第二次调用start()方法的时候,线程可能处于终止或者其他(非NEW&#x