人勤快怎么都不会差到哪儿去。。。
package com.pt.thread;
/**
* 模拟龟兔赛跑
*
* @author tyler
*
*/
public class Racer implements Runnable {
private static String winner;// 胜利者
@Override
public void run() {
// 重写run函数,线程入口
for (int steps = 1; steps <= 100; steps++) {
// 模拟休息
if (Thread.currentThread().getName().equals("rabbit") && (steps%10 == 0)) {
try {
Thread.sleep(1);// ms 1000ms 约等于 1s
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(Thread.currentThread().getName() + "-->" + steps);
// 比赛是否结束
boolean flag = gameOver(steps);
if (flag) {
break;
}
}
}
public 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();
}
}