1(题目编号7179)、利用多线程技术编写一个模拟龟兔赛跑的程序,要求如下:(1)乌龟每次跑一个单位,兔子每次跑10个单位;(2)每个线程运行时,判断是否达到终点,如果到达终点,给出提示信息,未到终点则提示目前距离终点的距离,并判断是否领先;(3)如果兔子领先,则显示“我跑得快,睡一觉”信息,并睡一会。
代码:
public class Main {
public static void main(String[] args) {
Pao pao1=new Pao();
Thread thread=new Thread(pao1,"Wugui");
Thread thread1=new Thread(pao1,"Tuzi");
thread.start();
thread1.start();
}
}
class Pao implements Runnable{
int N=100;
int wugui=0;
int tuzi=0;
@Override
public void run() {
if(Thread.currentThread().getName().equals("Wugui")){
for(;wugui<=N;wugui+=1){
System.out.println("Wugui "+(N-wugui)+" left");
}
System.out.println("Wugui到达****************");
}
if(Thread.currentThread().getName().equals("Tuzi")){
for(;tuzi<=N;tuzi+=10){
System.out.println("Tuzi "+(N-tuzi)+" left");
if(tuzi>wugui){
System.out.println("Tuzi sleep for 100ms-------"+"wugui: "+wugui+" tuzi: "+tuzi);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
System.out.println("TUzi到达**************************");
}
}
}