package edu.mama.ls18.homework;
mport java.util.function.ToIntBiFunction;
ublic class Homework {
_/*
编写一段程序启动三个线程,要求:
1、三个线程的名称是A,B,C
2、每个线程打印自己的名称5遍
3、B打印完成后再开始打印A和C
/
_public static void print() {
Runnable task=new PrintNameRunnable();
Thread ta = new Thread(task,”A”);
Thread tb = new Thread(task,”B”);
Thread tc = new Thread(task,”C”);
tb.start();
try {
tb.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
ta.start();
tc.start();
}
_/**<br /> * 龟兔赛跑<br /> *<br /> * 编写一段程序,要求:<br /> * 1、兔子速度3米/秒,每跑5秒就要睡觉休息,每次休息时长为5~20秒不等<br /> * 2、乌龟速度1米/秒,从来不休息<br /> * 3、每秒打印兔子和乌龟所跑长度(单位:米)<br /> * 4、任何一方到达50米的终点时,比赛结束,打印比赛结果(是乌龟胜利还是兔子胜利)<br /> */<br /> _public static void run() {<br /> _/**<br /> * 3个线程:1个裁判+2个运动员<br /> * 裁判:负责比赛启动、中途输出奔跑距离、判断比赛结束、宣布结果<br /> * main先启动裁判judge线程,judge再负责启动乌龟和兔子线程<br /> * 比赛的数据全部记录在race类中<br /> */<br /> _Race race=new Race();<br /> Runnable hare=new HareRunnable(race);<br /> Runnable tortoise=new TortoiseRunnable(race);<br /> Runnable judge=new JudgeRunnable(race,new Thread(hare),new Thread(tortoise));<br /> new Thread(judge).start();<br /> }
public static void main(String[] args) {<br /> _print_();
//等一下,让前面的线程结束<br /> try {<br /> Thread._sleep_(5000);<br /> } catch (InterruptedException e) {<br /> e.printStackTrace();<br /> }<br /> <br /> _run_();<br /> }<br />}