多线程之龟兔赛跑
作者:互联网
//模拟龟兔赛跑 public class Race implements Runnable { //胜利者 private static String winner; @Override public void run() { for (int i = 1; i < 101; i++) { //模拟兔子休息 if(Thread.currentThread().getName().equals("兔子")&&i%10==0){ 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 steps){ //判断是否有胜利者 if (winner!=null){//已经存在胜利者 return true; }{ if(steps>=100){ winner=Thread.currentThread().getName(); System.out.println("winner is"+winner); return true; } } return false; } public static void main(String[] args) { Race race = new Race(); new Thread(race,"兔子").start(); new Thread(race,"乌龟").start(); } }
标签:赛跑,return,Thread,currentThread,getName,winner,race,多线程,之龟 来源: https://blog.csdn.net/m0_46406255/article/details/122278016