本文主要是介绍【Java】多线程之“龟兔赛跑”案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Java多线程全部内容详见:Java之多线程详解
要求:
1. 设置赛道距离,要离终点越来越近
2. 判断比赛是否结束
3. 打印出胜利者
4. 龟兔赛跑开始
5. 乌龟是赢得,模拟兔子需要睡觉
6. 乌龟到达终点
//模拟龟兔赛跑
public class Race implements Runnable{//胜利者private static String winner;@Overridepublic void run() {for (int i = 0; i <= 100; 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();}
}
简单粗暴!
感谢ლ(°◕‵ƹ′◕ლ)!!!
这篇关于【Java】多线程之“龟兔赛跑”案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!