题目:模拟多人爬山
实现思路:
1、创建线程类ClimbThread
属性:爬100米时长(time),爬多少个100米(num)
构造方法完成属性初始化
2、实现run()方法
线程休眠模拟爬山中的延时
3、实现测试类Test
创建多个线程对象模拟多个人,设置人名、爬100米时长
解题代码:
public class ClimbThread extends Thread {private int time; //速度private String name;private int num; //休息时间private int mountain ; //山的高度public ClimbThread(int time, int mountain) {super();this.time = time;this.mountain = mountain*1000;}public void run() {//获取当前线程名String name = Thread.currentThread().getName();while (true) {mountain -= 100;System.out.println(name + "爬了" + (num + 1) + "个100米");//爬100米次数+1num++;try {//爬100米用的时间Thread.sleep(time);} catch (InterruptedException e) {e.printStackTrace();}if (mountain <= 0) {System.out.println("***" + name + "爬到了终点***");break;}}}
}class ClimbThreadTest{public static void main(String[] args) {//创建线程ClimbThread ct1 = new ClimbThread(500,1);ClimbThread ct2 = new ClimbThread(800,1);//线程赋名ct1.setName("年轻人");ct2.setName("老年人");//start运行ct1.start();ct2.start();}
}