Java线程,龟兔赛跑问题。

不知先生丶 2018-12-15 04:08:38
编写一个JAVA应用程序,在主线程中再创建两个线程,要求经历四个状态:新建,运行,终端和死亡。
...全文
349 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sandubuhan 2020-03-01
  • 打赏
  • 举报
回复
怎么都是裴新的例子
weixin_43803105 2018-12-18
  • 打赏
  • 举报
回复
/*
* 模拟龟兔赛跑
*/
public class Racer implements Runnable{
private static String winner;//胜利者
@Override
public void run() {
test();
}
public void test() {

for(int steps=1;steps<=100;steps++){
//模拟休息
if(Thread.currentThread().getName().equals("rabbit")&&steps%10==0) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {

e.printStackTrace();
}
}
System.out.println(Thread.currentThread().getName()+"-->"+steps);
//比赛是否结束
boolean flag=gameOver(steps);
if(flag) {
break;
}
}

}
private boolean gameOver(int steps) {
if(winner!=null) {//存在胜利者
return true;
}else {
if(steps==100) {
winner=Thread.currentThread().getName();
System.out.println("winner==>"+winner);
return true;
}
}
return false;
}

public static void main(String[] args) {
Racer racer=new Racer();
new Thread(racer,"tortoise").start();
new Thread(racer,"rabbit").start();
}
}

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧