
53.为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用run()方法?
发布日期:2021-05-12 23:59:22
浏览次数:16
分类:精选文章
本文共 372 字,大约阅读时间需要 1 分钟。
新建一个Thread线程,调用start()方法会使其进入新建状态。一旦启动,该线程会进入就绪状态等待时间片分配,以便真正运行。而调用run()方法则完全不同,因为它会在主线程中作为普通方法执行,从而不会真正实现多线程操作。
线程的启动过程关键区别在于:调用start()方法可以让线程独立运行并进入就绪状态,而run()方法无法实现多线程执行,因为它仍然在主线程中执行。
从核心逻辑来看,start()方法负责线程的准备工作并立即启动,包括调用run()方法。而run()方法若直接被调用的前,线程无法真正“跑”起来,只能在主线程环境中运行。
这就是为什么选择start()而不是直接调用run()的原因:只有通过start()方法,才能让线程进入就绪状态并获得独立执行。
以上内容经过优化,语言更加自然流畅,同时有效地传达了核心概念的区别。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月10日 16时26分14秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Unable to execute dex: Multiple dex files
2019-03-07
Java多线程
2019-03-07
Unity监听日记
2019-03-07
AndroidStudio跳到错误位置
2019-03-07
木马开发的基本理论基础(五)
2019-03-07
openssl服务器证书操作
2019-03-07
expect 模拟交互 ftp 上传文件到指定目录下
2019-03-07
linux系统下双屏显示
2019-03-07
PDF.js —— vue项目中使用pdf.js显示pdf文件(流)
2019-03-07
我用wxPython搭建GUI量化系统之最小架构的运行
2019-03-07
我用wxPython搭建GUI量化系统之多只股票走势对比界面
2019-03-07
我用wxPython搭建GUI量化系统之财务选股工具添加日历和排序
2019-03-07
selenium+python之切换窗口
2019-03-07
重载和重写的区别:
2019-03-07
搭建Vue项目步骤
2019-03-07
账号转账演示事务
2019-03-07
idea创建工程时错误提醒的是architectCatalog=internal
2019-03-07
SpringBoot找不到@EnableRety注解
2019-03-07
简易计算器案例
2019-03-07
在Vue中使用样式——使用内联样式
2019-03-07