Java多线程模拟龟兔赛跑
Posted 国王陛下万万岁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java多线程模拟龟兔赛跑相关的知识,希望对你有一定的参考价值。
用Runnable接口实现多线程
public class ThreadDemo { public static void main(String[] args) throws InterruptedException { Racer racer = new Racer(); new Thread(racer, "乌龟").start(); new Thread(racer, "兔子").start(); } } class Racer implements Runnable { private String winner; //重写run()方法 @Override public void run() { for (int step = 0; step <= 100; step++) { //模拟让兔子睡觉 if(Thread.currentThread().getName().equals("兔子") && step%10==0 ){ try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println(Thread.currentThread().getName() + "跑了第" + step + "步."); boolean flag = isGameOver(step); if (flag) { break; } } } public boolean isGameOver(int steps) { if (winner != null) { return true; } else { if (steps == 100) { winner = Thread.currentThread().getName(); System.out.println("胜利者是:" + winner); return true; } } return false; } }
重点:
Thread.sleep(int i);//暂停线程i秒 Thread.currentThread().getName()//获得当前线程名字
以上是关于Java多线程模拟龟兔赛跑的主要内容,如果未能解决你的问题,请参考以下文章