zoukankan      html  css  js  c++  java
  • java利用线程并行的方法模拟龟兔赛跑

    package com.lipu.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().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();
    
    
        }
    }
  • 相关阅读:
    htm与html的区别
    CLR笔记:3.共享程序集合强命名程序集
    CLR笔记:5.基元,引用和值类型
    CLR笔记:13.数组
    CLR笔记:18.可空值类型
    正则表达式
    代码大全
    wcf的部署
    Json相关
    $.ready和onload
  • 原文地址:https://www.cnblogs.com/lipu12281/p/12189632.html
Copyright © 2011-2022 走看看