欢迎光临散文网 会员登陆 & 注册

韦东山ARM架构与编程·基于STM32F103\/--》ccys1473

2023-07-10 12:26 作者:a326306624  | 我要投稿

/**

 * 模拟龟兔赛跑

 */

public class Demo5_RaceCase 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(2);

                } 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;

        } else {

            if (steps >= 100) {

                winner = Thread.currentThread().getName();

                System.out.println("winner is " + winner);

                return true;

            }

        }

        return false;

    }


    public static void main(String[] args) {

        Demo5_RaceCase race = new Demo5_RaceCase();

        new Thread(race, "兔子").start();

        new Thread(race, "乌龟").start();

    }

}



韦东山ARM架构与编程·基于STM32F103\/--》ccys1473的评论 (共 条)

分享到微博请遵守国家法律