为什么80%的码农都做不了架构师?>>>   

1. start:
  用start方法来启动线程,真正实现了多线程运行,这是无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到CPU时间片,就开始执行run()方法,这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run()方法运行结果,此线程随即终止。

2. run:
  run()方法只是类的一个普通方法而已,如果直接调用run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码,这样就没有达到写线程的目的。

总结:调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行。

转载于:https://my.oschina.net/134596/blog/1663837

线程启动start和run相关推荐

  1. c++ 线程什么时候run_阿里后端Java面试题:启动线程是start()还是run()?为什么?...

    面试官:请问启动线程是start()还是run()方法,能谈谈吗? 应聘者:start()方法 当用start()开始一个线程后,线程就进入就绪状态,使线程所代表的虚拟处理机处于可运行状态,这意味着它 ...

  2. 【Java 语言】Java 多线程 一 ( 线程基础 : 线程启动 | 线程停止 | 线程暂停 | 线程优先级 | 守护线程)

    一. 线程启动 线程启动 : -- 1. 继承 Thread 运行线程 : 重写 Thread 类的 run 方法, 然后执行该线程; -- 2. 实现 Runnable 接口, 并运行线程; -- ...

  3. 线程中start()与run()的区别

    每个线程都有要执行的任务.线程的任务处理逻辑可以在Tread类的run实例方法中直接实现或通过该方法进行调用,因此 run()相当于线程的任务处理逻辑的入口方法,它由Java虚拟机在运行相应线程时直接 ...

  4. 【java】Thread.start 它是怎么让线程启动的呢

    1.概述 转载:面经手册 · 第19篇<Thread.start() ,它是怎么让线程启动的呢?> 可悲可叹,这个问题,6年了,我才第一次知道. 线程启动分析 new Thread(() ...

  5. python线程暂停_python3线程启动与停止

    转自: https://blog.csdn.net/weixin_38125866/article/details/76795462 https://www.cnblogs.com/lcchuguo/ ...

  6. Thread-start()-,它是怎么让线程启动的呢,Java面试问项目

    group.threadStartFailed(this);}} catch (Throwable ignore) {} } } * 线程启动方法 start(),在它的方法英文注释中已经把核心内容描 ...

  7. OpenRTMFP/Cumulus Primer(20)Cumulus的一个线程启动 Bug

    OpenRTMFP/Cumulus Primer(20)Cumulus的一个线程启动 Bug 作者:柳大·Poechant(钟超) 邮箱:zhongchao.ustc#gmail.com(# -> ...

  8. 怎样才是正确的线程启动方式?

    目录 1.start()和run()的比较 2.start()方法原理解读 2.1.start()方法含义 2.2.start()源码解析 3.run()方法原理解读 4.启动线程--常见面试问题 1 ...

  9. java看山不是山_java线程启动原理分析

    一.前言 不知道哪位古人说:人生三大境界.第一境界是:看山是山看水是水:第二境界是看山不是山看水不是水:第三境界:看山还是山看水还是水. 其实我想对于任何一门技术的学习都是这样. 形而上下者为之器,形 ...

最新文章

  1. java redis多主多备_java 集成Redis 一主多从
  2. ISA2006之工作组环境下的阵列部署
  3. 二、JavaScript语言--JS基础--JavaScript进阶篇--DOM对象 控制HTML元素
  4. 实战分享|数据驱动「付费转化」的3个思路
  5. 腾讯地图api_数据库API接口的类型及应用场景
  6. 很有用很有效的操作之批量操作一组图片
  7. CodeSmith实用技巧(九):重载Render方法来控制输出
  8. 使用Django开发简单接口:文章增删改查
  9. 局域网带宽控制解决方案 P2P终结者使用详解
  10. 微信转账被拉黑 遇到渣人该怎么追回损失?
  11. excel如何取消合并单元格并自动填充
  12. Unity的一些特效和粒子特效插件
  13. 论文Hierarchical Chamfer Matching
  14. tps和tips区别_性能测试:TPS和QPS的区别
  15. 嵌入式系统开发笔记81:嵌入式系统的本质
  16. 什么是ALEO,深度解析及获取方法
  17. python下载安装教程-python安装教程
  18. 普通本科到清华大学研究生的真实人生蜕变,看了保证你考研至少增加 50 分!青春值得你去拼搏!!
  19. mac系统ionic开发ios app从安装到打包
  20. windows无法启动MySQL服务(位于本地计算机上)。错误1067:进程意外终止

热门文章

  1. Mac系统兼容软件 CrossOver 试用到期了怎么办
  2. 公有云还能信任吗?Azure遭雷击中断超过一天
  3. 谈Objective-C Block的实现
  4. Docker 是什么?
  5. diamond types are not supported at this language level
  6. SharePoint 2013 配置HTTPS(SSL)
  7. 烂泥:mysql修改本地主机连接
  8. asp.net调用百度地图API,实现电子地图
  9. Directx11教程(15) D3D11管线(4)
  10. DPI — Application Assurance — Overview