package com.zhang.lesson.ThreadDenmon;
public class Race implements Runnable {
private static String winner;
@Override
public void run() {
for (int i = 0; i <= 100; i++) {
if (Thread.currentThread().getName().equals("兔子")){
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
boolean flag=gameover(i);
if (flag){
break;
}
System.out.println(Thread.currentThread().getName()+ ">>>"+ "跑了" +i +"步");
}
}
private boolean gameover(int stpe) {
if (winner != null) {
return true;
}{
if (stpe==100){
winner=Thread.currentThread().getName();
System.out.println("winnner is "+ winner);
}
}
return false;
}
public static void main(String[] args) {
Race race =new Race();
new Thread(race,"兔子").start();
new Thread(race,"乌龟").start();
}
}
运行结果:

本文展示了一个使用Java实现的兔子与乌龟赛跑的线程示例,通过创建两个线程分别代表兔子和乌龟,模拟它们在比赛中的跑步过程。兔子线程会进行睡眠模拟休息,而乌龟则持续前进,最终确定谁先到达终点。
1277

被折叠的 条评论
为什么被折叠?



