当前位置: 代码迷 >> 综合 >> 多线程练习:模拟多人爬山
  详细解决方案

多线程练习:模拟多人爬山

热度:54   发布时间:2024-02-07 15:52:36.0

题目:模拟多人爬山

实现思路:

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

 

  相关解决方案