package com.lovecoding.day14.ex02;

public class Racer {
    /*
    案例：编写龟兔赛跑多线程程序，设赛跑长度为30米
    兔子的速度是10米每秒，兔子每跑完10米休眠的时间10秒
    乌龟的速度是1米每秒，乌龟每跑完10米的休眠时间是1秒
    要求：要等兔子和乌龟的线程结束，主线程（裁判）才能公布最后的结果。

    龟兔 两个线程
    常量 30米
    变量 vTime    每米的时间
    休眠 restTime 休息的时间

     */

    public static int MAX_M = 30;

    private int vTime;
    private int restTime;
    private long time;

    //跑
    public void run1(){
        //开始时间
        long start = System.currentTimeMillis();

        for (int i = 0; i < MAX_M; i++) {
            try {
                Thread.sleep(vTime);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            if (i == 10 || i == 20){
                try {
                    Thread.sleep(restTime);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
        long end = System.currentTimeMillis();
        //总时间
        setTime(end - start);
    }

    public Racer(int vTime, int restTime) {
        this.vTime = vTime;
        this.restTime = restTime;
    }

    public int getvTime() {
        return vTime;
    }

    public void setvTime(int vTime) {
        this.vTime = vTime;
    }

    public int getRestTime() {
        return restTime;
    }

    public void setRestTime(int restTime) {
        this.restTime = restTime;
    }

    public long getTime() {
        return time;
    }

    public void setTime(long time) {
        this.time = time;
    }
}
