请说明Thread类中run和start的区别,从方法的区别,及运行结果的区别分别说明

方法本身的区别

start() 方法:

  1. run()方法是Thread类的一个普通方法,它包含了线程要执行的代码。
  2. 当你直接调用一个线程的run()方法(如myThread.run()),你实际上是在当前线程(通常是主线程)中执行run()方法中的代码,而不是创建一个新的线程来执行。
  3. run()方法没有特殊的线程管理功能,它只是简单地执行其中的代码。

run() 方法:

  1. start()方法是Thread类的一个特殊方法,用于启动一个新线程。
  2. 当你调用一个线程的start()方法(如myThread.start()),Java虚拟机(JVM)会为该线程分配必要的系统资源,并创建一个新的执行线程。
  3. 在新线程中,JVM会自动调用该线程的run()方法。因此,start()方法内部会调用run()方法,但这个过程是由JVM控制的,而不是直接由调用start()方法的线程控制。
  4. start()方法具有线程管理功能,它确保线程的正确启动和执行。

运行结果的区别

使用 start() 方法:

  1. 当你调用一个线程的start()方法时,它会创建一个新的线程来执行run()方法中的代码。
  2. 这意味着,run()方法中的代码将在新的线程中异步执行,不会阻塞当前线程。
  3. 这使得你可以同时执行多个任务,提高程序的并发性和响应性。

直接调用 run() 方法:

  1. 当你直接调用一个线程的run()方法时,代码会在当前线程中同步执行,而不是在新的线程中。
  2. 这意味着,如果你的代码中有耗时的操作或需要等待的操作(如I/O操作),它会阻塞当前线程,直到操作完成。

总结:Java中,你应该始终通过调用start()方法来启动一个新线程,而不是直接调用run()方法。这是因为start()方法会正确地管理线程的创建和执行,而直接调用run()方法则只是在当前线程中执行代码,无法实现多线程并发执行的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/35173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PointCloudLib-滤波模块(Filtering)-使用参数化模型投影点

在本教程中,我们将学习如何将点投影到参数化模型上 (例如,平面、球体等)。参数模型通过一组 系数 – 在平面的情况下,通过其方程:ax + by + cz + d = 0。 代码 #include <iostream> #include <pcl/point_cloud.h> // for PointCloud #include <pcl/point…

mysql是什么

mysql是什么 是DBMS软件系统&#xff0c;并不是一个数据库&#xff0c;管理数据库 DBMS相当于用户和数据库之间的桥梁&#xff0c;有超过300种不同的dbms系统 mysql是关系型数据库&#xff0c;关系型数据库存储模型很想excel&#xff0c;用行和列组织数据 sql是一门编程语言…

关于ip地址的网页无法访问navigator的gpu、媒体、蓝牙等设备的解决方法

在使用threejs的WebGPURenderer渲染器时&#xff0c;发现localhost以及127.0.0.1才能访问到navigator.gpu&#xff0c;直接使用ip会变成undefined,原因是为了用户的隐私安全&#xff0c;只能在安全的上下文中使用&#xff0c;非安全的上下文就会是undefined&#xff0c;安全上下…

谷歌云(GCP)4门1453元最热门证书限时免费考

谷歌云(GCP)最新活动&#xff0c;完成免费官方课程&#xff0c;送4门最热门考试免费考试券1张(每张价值200刀/1453元)&#xff0c;这4门也包括最近大热的AI/ML考试&#xff0c;非常值得学习和参加&#xff0c;活动7/17截止 谷歌云是全球最火的三大云计算厂商(前两名AWS, Azure…

MySQL索引优化解决方案--索引失效(3)

索引失效情况 最佳左前缀法则&#xff1a;如果索引了多列&#xff0c;要遵循最左前缀法则&#xff0c;指的是查询从索引的最左前列开始并且不跳过索引中的列。不在索引列上做任何计算、函数操作&#xff0c;会导致索引失效而转向全表扫描存储引擎不能使用索引中范围条件右边的…

【Linux】进程信号_1

文章目录 八、进程信号1.信号 未完待续 八、进程信号 1.信号 信号和信号量之间没有任何关系。信号是Linux系统提供的让用户/进程给其他进程发送异步信息的一种方式。 常见信号&#xff1a; 当信号产生时&#xff0c;可选的处理方式有三种&#xff1a;①忽略此信号。②执行该…

小程序注册

【 一 】小程序注册 微信公众平台 https://mp.weixin.qq.com/ https://mp.weixin.qq.com/注册 邮箱激活 小程序账户注册 微信小程序配置 微信小程序开发流程 添加项目成员 【 二 】云服务 lass 基础设施服务&#xff08;组装机&#xff09; 你买了一大堆的电脑配件&#x…

AI早班车2024.6.25

全球AI新闻速递 1.高通&#xff1a;开放 AI 模型&#xff0c;帮助开发者打造骁龙 X Elite 平台智能应用。 2.OpenAI&#xff1a;收购数据库分析公司Rockset。 3.大众海外版车型支持 ChatGPT。 4.乐聚夸父人形机器人&#xff0c;搭载华为云盘古具身智能大模型。 5.微软正努力…

Day45

Day45 jQuery动画 显示和隐藏 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><script src"js/jquery-1.8.2.js" type"text/javascript" charset"utf-8"></script&…

Linux系统移动光标类命令

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

iHRM人力资源管理系统测试用例集

1、初始化项目环境 1&#xff09;初始化用例集 2&#xff09;初始化环境&#xff1a;测试环境&#xff0c;生产环境&#xff08;不同环境对应不同的url&#xff0c;在进行用例集测试之前一定要指定环境&#xff09; 3&#xff09;单接口模块 从Excel表格的测试用例文档中提…

云南省森林管理新篇章:可视化大屏引领绿色智慧革命

在云南省这片绿意盎然的土地上&#xff0c;森林不仅是自然的宝藏&#xff0c;更是生态的守护者。 想象一下&#xff0c;站在巨大的屏幕前&#xff0c;云南省的森林分布、生长状况、病虫害情况等信息一目了然&#xff0c;仿佛拥有了一双能够洞察森林奥秘的“智慧眼”。这正是森林…

输入/输出文字

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在海龟绘图中&#xff0c;也可以输入或者输出文字&#xff0c;下面分别进行介绍。 1 输出文字 输出文字可以使用write()方法来实现&#xff0c;语…

使用Python实现手势替代鼠标操作并生成.exe可执行文件

使用Python实现手势替代鼠标操作并生成.exe可执行文件 在现代计算机交互中&#xff0c;手势识别作为一种自然的人机交互方式&#xff0c;逐渐受到人们的关注。本文将介绍如何使用Python实现手势替代鼠标操作&#xff0c;并生成一个可执行的.exe文件&#xff0c;使得这项技术更…

python常见概念

文章目录 1.python是什么&#xff1f;2.编辑器的选择——pycharm3.第一个python程序4.print函数5.关键字介绍6.python的注释方式7.python语句分类 1.python是什么&#xff1f; Python 是一种面向对象的解释性的计算机程序设计语言&#xff0c;也是一种功能强大而完善的通用型语…

浊度传感器设备的监测控制和智慧运维

浊度传感器是一种用于测量液体中悬浮颗粒浓度从而反映液体浊度的设备。 其工作原理主要基于以下几种常见方式&#xff1a; 1. 散射光测量原理&#xff1a;当光线穿过含有悬浮颗粒的液体时&#xff0c;颗粒会使光线发生散射。传感器通过测量特定角度的散射光强度来确定浊度。散…

数据中台/数据仓库必问的数量质量控制面试题

目录 什么是数据质量?如何定义高质量的数据? 数据质量的五个维度是什么? 解释“准确性”在数据质量中的含义。 数据清洗与数据质量控制之间的关系是什么? 数据质量评估的常用方法有哪些? 如何建立数据质量评分体系? 数据治理与数据质量控制的关系是什么? 描述一…

MySQL常用的函数

1、concat&#xff08;a&#xff0c;b&#xff09;&#xff1a;把传入的参数连成一个字符串。 2、lower()/upper()&#xff1a;转换为小写/转换为大写。 3、replace&#xff08;&#xff09;&#xff1a;替换字符串。 4、trim&#xff08;&#xff09;&#xff1a;去掉开头和…

入门 PyTorch ,这70个操作技巧就够了

Pytorch 是当下最流行的算法框架&#xff0c;很多大模型都是基于Pytorch 搭建而成&#xff0c;它提供了大量操作用于创建和训练神经网络。 今天给大家分享 Pytorch 的19个方面&#xff0c;涉及到70个细节操作&#xff0c;这部分内容梳理花了我一天的时间&#xff0c;喜欢记得点…