相关例题
1.模拟多人爬山
需求说明:
每一个线程代表一个人
可设置每人爬山的速度
每爬完100米显示信息
爬到终点时候给出相应提示.
运行结果:
代码如下:
public class ClimbThread extends Thread {
//爬100米的时长
private int time;
// 爬了多少100米
private int num;
public ClimbThread(String name, int time, int kilometer) {
//kilometer(千米) name:年轻人/老年人 time:爬100米的时长
super(name);
this.time = time;
this.num = kilometer * 1000 / 100;// 根据山的高度来计算有多少个100米
}
//模拟爬山的过程
public void run(){
while(num > 0){
try {
Thread.sleep(time);
System.out.println(Thread.currentThread().getName()
+ "爬完了100米!");
num--;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(Thread.currentThread().getName() + "到达终点!");
}
}
//测试类
public class TestClimbThread {
public static void main(String[] args) {
ClimbThread young = new ClimbThread("年轻人", 150, 1);
ClimbThread old = new