news 2026/6/10 6:50:22

Thread类中run()和start()的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Thread类中run()和start()的区别

在Java中, run() 和 start() 方法是Thread类的两个关键方法,它们有本质区别:

1.run()方法:

  • run()方法是线程要执行的任务代码所在的方法。
  • 直接调用run()方法,它会在当前线程中执行,而不会启动新的线程。也就是说,它就像普通的实例方法一样被调用,并没有多线程的特性。

2.start()方法

  • start()方法用于启动一个新的线程。当调用start()方法时,Java虚拟机会创建一个新的线程,然后在这个新线程中调用run()方法。

代码演示:

class MyThread extends Thread{ @Override public void run() { System.out.println("当前线程是"+Thread.currentThread().getName()); } } public class demo1 { public static void main(String[] args) { Thread t1=new MyThread(); System.out.println("直接调用run()方法"); t1.run(); System.out.println("直接调用start()方法"); t1.start(); } }

运行结果:

总结:

  • 调用start()方法会启动一个新线程,并在这个线程中执行run()方法,函数在调用后会立即返回,不需要等待线程执行完成。
  • 调用run()方法则不会启动新线程,而是在当前线程中同步执行run()方法,函数也需要在方法执行完毕后才会返回。

注意start()只能执行一次,run()可以反复多次执行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 10:15:51

TensorRT-LLM性能调优:提升LLM推理效率

TensorRT-LLM性能调优:提升LLM推理效率 在当前大语言模型(LLM)广泛应用的背景下,一个70B参数级别的模型若以原生PyTorch部署,单次生成可能消耗数GB显存、延迟高达秒级,吞吐量却仅有几百tokens/秒。这种资源…

作者头像 李华
网站建设 2026/6/8 22:50:21

差热分析仪厂家推荐排行榜:2025最新性价比之选

在选择差热分析仪时,企业常常遭遇“测量精度低”“稳定性差”“售后技术支持不足”等问题,导致实验数据不准确,影响研发进程和产品质量。基于对 500 科研机构和企业的调研,从测量精度、稳定性、售后服务、性价比 4 大维度筛选出这…

作者头像 李华
网站建设 2026/6/8 13:31:40

数据治理之“元数据”

1. 定义 元数据描述的不是特定的实例或记录,而是表示数据的类型、名称、值,以及数据所属的业务域、取值范围、业务规则、数据来源、数据间的关系等数据上下文,来帮助我们理解现有数据。 2. 类型 元数据的三种类型: 业务元数据技术…

作者头像 李华
网站建设 2026/6/10 0:22:54

管理学推荐读物,三本书让你看透管理的本质

管理不是靠一堆模板解决的,它更像是一场关于“人性、判断与平衡”的长期修炼。真正优秀的管理者,不只是懂方法,而是能看透规律、拿捏分寸、持续成长。如果你想系统地理解和学习管理学,而不仅仅是“做个好上司”,那本文…

作者头像 李华
网站建设 2026/6/7 2:47:03

商业模式方面的好书推荐,培养商业思维看这一本就够

真正做过生意的人都知道,商业模式不是创意的堆砌,而是逻辑的搭建。一个成功的模式,必须在价值、结构、盈利之间形成闭环。它既是一种思考方式,也是一种系统设计。可惜的是,大多数人学商业模式的方式,往往太…

作者头像 李华
网站建设 2026/6/7 16:56:18

团队管理书单,带好团队必看的三本书

团队管理的难点,其实主要集中在“人”这件事上。 看似是制度和流程的问题,本质上往往是人心、沟通和激励的博弈。 要真正带好团队、管理好人员其实是一件挺难的事儿。那些有经验的管理者往往都知道,光靠职位和权威是管不出好结果的。真正高…

作者头像 李华