龟兔赛跑--多线程运行操作判断及代码
龟兔赛跑--多线程运行操作判断,继承Runnable接口
可自己设置总路程和角色
代码如下:
点击查看代码
public class Test03 implements Runnable {
private static String winner;
@Override
public void run() {
//比赛总里程100步
for (int i = 0; i <=100; i++) {
//调用getWinner方法判断步数是否满足总里程100,有Winner返回ture,否则false
boolean flag = getWinner(i);
//有Winner则为false,不满足条件,跳过if判断
if (flag){
//为ture则进入条件,break结束循环
break;
}
System.out.println(Thread.currentThread().getName()+"跑了"+i+"步");
}
}
public boolean getWinner(int steps){
if (winner!=null){//有赢家
return true;
}else {
if (steps>=100){
winner = Thread.currentThread().getName();
System.out.println("赢家是"+winner);
return true;
}
}
return false;
}
public static void main(String[] args) {
//一个主线程,两个分线程分别去抢占主程序的cpu资源
Test03 test03 = new Test03();
new Thread(test03,"乌龟").start();
new Thread(test03,"兔子").start();
}
}