龟兔赛跑代码实现
Posted 不要忘记我
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了龟兔赛跑代码实现相关的知识,希望对你有一定的参考价值。
赛道相当于一个资源,乌龟和兔子相当于两个线程,多线程共用一个资源
package com.demo01; public class Race implements Runnable private static String winner; @Override public void run() for(int i=0;i<=100;i++) if(Thread.currentThread().getName()=="兔子" && i%20==0) try Thread.sleep(10); 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"+Thread.currentThread().getName()); return false; public static void main(String[] args) Race race=new Race(); new Thread(race,"兔子").start(); new Thread(race,"乌龟").start();
以上是关于龟兔赛跑代码实现的主要内容,如果未能解决你的问题,请参考以下文章
Java并发编程:CallableFuture和FutureTask 实现龟兔赛跑