编写Java程序,跑道长 50m,模拟 3 名学生同时在跑道跑步的场景 3名同学相当于3个线程对象

简介: 编写Java程序,跑道长 50m,模拟 3 名学生同时在跑道跑步的场景 3名同学相当于3个线程对象

需求说明:


跑道长 50m,模拟 3 名学生同时在跑道跑步的场景 3名同学相当于3个线程对象


14.png


实现思路:

创建 Java 项目,在项目中创建StudentRunning类,该类继承 Thread 类

重写 StudentRunning类的 run() 方法,实现模拟变量自增 在类中定义 String 类型的变量 name,用来保存学生的姓名

在类中定义有参构造方法,目的通过构造方法给实例变量 name赋值

在 StudentRunning 类的 main() 方法内,使用有参构造方法创建 3 个线程对象,实参 name 的值即 3 名学生的姓名

依次调用 3 条线程的 start() 方法,启动线程


实现代码:


方法一:

public class StudentRuning extends Thread {
  //创建构造方法,变量用来保存名字
  private String name;
  public StudentRuning(String name) {
    super(name);
    this.name = name;
  }
  @Override
  public void run() {
    super.run();
    for (int i = 0; i < 50; i++) {
      System.out.println(this.name+"同学跑了"+i+"米");
    }
  }
  //创建三条进程并启动
  public static void main(String[] args) {
    new StudentRuning("小明").start();
    new StudentRuning("小安").start();
    new StudentRuning("小春").start();
  }
}


方法二:


public class StudentRuning extends Thread {
  @Override
  public void run() {
    super.run();
    for (int i = 1; i <= 50; i++) {
      System.out.println(this.getName()+"同学跑了"+i+"米");
    }
  }
  //创建三条进程并启动
  public static void main(String[] args) {
    StudentRuning s1 = new StudentRuning();
    s1.setName("小明");
    s1.start();
    StudentRuning s2 = new StudentRuning();
    s2.setName("大牛");
    s2.start();
    StudentRuning s3 = new StudentRuning();
    s3.setName("老王");
    s3.start();
  }
}
相关文章
|
24天前
|
设计模式 网络协议 数据可视化
Java 设计模式之状态模式:让对象的行为随状态优雅变化
状态模式通过封装对象的状态,使行为随状态变化而改变。以订单为例,将待支付、已支付等状态独立成类,消除冗长条件判断,提升代码可维护性与扩展性,适用于状态多、转换复杂的场景。
220 0
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
121 1
|
1月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
137 1
|
2月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
|
2月前
|
机器学习/深度学习 JSON Java
Java调用Python的5种实用方案:从简单到进阶的全场景解析
在机器学习与大数据融合背景下,Java与Python协同开发成为企业常见需求。本文通过真实案例解析5种主流调用方案,涵盖脚本调用到微服务架构,助力开发者根据业务场景选择最优方案,提升开发效率与系统性能。
624 0
|
2月前
|
安全 Java API
Java SE 与 Java EE 区别解析及应用场景对比
在Java编程世界中,Java SE(Java Standard Edition)和Java EE(Java Enterprise Edition)是两个重要的平台版本,它们各自有着独特的定位和应用场景。理解它们之间的差异,对于开发者选择合适的技术栈进行项目开发至关重要。
315 1
Java 数据库 Spring
124 0
|
2月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
193 16
|
3月前
|
缓存 并行计算 安全
关于Java多线程详解
本文深入讲解Java多线程编程,涵盖基础概念、线程创建与管理、同步机制、并发工具类、线程池、线程安全集合、实战案例及常见问题解决方案,助你掌握高性能并发编程技巧,应对多线程开发中的挑战。
|
3月前
|
缓存 安全 Java
Java反射机制:动态操作类与对象
Java反射机制是运行时动态操作类与对象的强大工具,支持获取类信息、动态创建实例、调用方法、访问字段等。它在框架开发、依赖注入、动态代理等方面有广泛应用,但也存在性能开销和安全风险。本文详解反射核心API、实战案例及性能优化策略,助你掌握Java动态编程精髓。

热门文章

最新文章