zoukankan      html  css  js  c++  java
  • 多线程练习2_龟兔赛跑

    龟兔赛跑

    案例:龟兔赛跑

    package com.hao.Demo01;
    
    //模拟龟兔赛跑
    public class Race implements Runnable {
    
        //定义一个胜利者
        private String winner;
    
        @Override
        public void run() {
            for (int i = 0; i <= 100; i++) {
    
                //模拟兔子休息
    //            if (Thread.currentThread().getName().equals("兔子") && i%10==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 step) {
            if (winner != null) {
                return true;
            }{
                if (step >= 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常见异常
    实现两个整数变量交换
    java抽象类与接口
    Java内部类用法
    单例模式
    easyUI下拉列表点击事件的使用
    Java中使用HttpRequest获取用户真实IP地址端口
    js-easyUI格式化时间
    1124
    ACM算法
  • 原文地址:https://www.cnblogs.com/haohaoxuexio/p/14393948.html
Copyright © 2011-2022 走看看