• 线程的生命周期:当一个线程被创建之后,进入新建状态,JVM则给他分配内存空间,并进行初始化操作。当线程对象调用了start()方法,该线程就处于就绪状态(可执行状态),JVM会为其创建方法调用栈、和程序计数器,处于可执行状态下的线程随时可以被cpu调度执行。CPU执行该线程的时候,该线程进入执行状态。执行过程中,该线程遇倒像wait()等待阻塞、以及synchronized锁同步阻塞或者调用线程的sleep()方法等进入一个阻塞状态,阻塞之后通过notify()或者notifyAll()方法唤醒重新获取对象锁之后再行进入就绪状态,等待cpu执行进去执行状态、当线程执行完或者return则线程正常结束,如果发生处理的运行时异常,则线程因为异常而结束。
1.线程被创建之后
2.进入新建状态
3.JVM则给他分配内存空间
4.并进行初始化操作
5.当线程对象调用了start()方法,
6.该线程就处于就绪状态(可执行状态)
7.JVM会为其创建方法调用栈、和程序计数器,处于可执行状态下的线程随时可以被cpu调度执行
8.CPU执行该线程的时候,该线程进入执行状态
9.执行过程中,该线程遇倒像wait()等待阻塞、以及synchronized锁同步阻塞或者调用线程的sleep()方法等进入一个阻塞状态
10.阻塞之后通过notify()或者notifyAll()方法唤醒重新获取对象锁之后再行进入就绪状态
11.等待cpu执行进去执行状态、当线程执行完或者return则线程正常结束
12.如果发生处理的运行时异常,则线程因为异常而结束。
  • 这是一个线程的整个运行的生命周期。如下图所示:

Java中线程的生命周期-图解相关推荐

  1. java中线程的生命周期

    文章目录 java中Thread的状态 NEW Runnable BLOCKED WAITING TIMED_WAITING TERMINATED java中线程的生命周期 线程是java中绕不过去的 ...

  2. java中线程的生命周期_Java中的线程生命周期– Java中的线程状态

    java中线程的生命周期 Understanding Thread Life Cycle in Java and Thread States are very important when you a ...

  3. java for(o t :object) 获取顺序号_java中线程的生命周期

    线程是java中绕不过去的一个话题, 今天本文将会详细讲解java中线程的生命周期,希望可以给大家一些启发. java中Thread的状态 java中Thread有6种状态,分别是: NEW – 新创 ...

  4. java中的的一些生命周期,Java中对象的生命周期

    Java中对象的生命周期 (1) 对象生命周期的开始 对象生命周期开始时,需要为对象分配内存,并且初始化它的实例变量: 对象生命周期结束 Java虚拟机的垃圾回收线程回收对象的内存. (2) 创建一个 ...

  5. java 中 bean 的生命周期

    java 中 bean 的生命周期 本篇中会对涉及到的知识点皆做出描述: 首先,我们先了解先虚拟机的类加载机制: 虚拟机把描述类的数据从Class 文件中加载到内存,并对数据进行校验.转换解析和初始化 ...

  6. Java并发 - 线程的生命周期

    线程的生命周期 1. 补充 Java中的线程分为两类:守护线程.用户线程(默认). 它们几乎在每个方面都是相同的,唯一的区别是判断JVM何时离开.意思就是,只要当前JVM实例中尚存任何一个非守护线程没 ...

  7. Java 多线程— 线程的生命周期及方法

    2019独角兽企业重金招聘Python工程师标准>>> 这篇博客介绍线程的生命周期. 线程是一个动态执行的过程,它也有从创建到死亡的过程. 线程的几种状态 在 Thread 类中,有 ...

  8. 11.3-全栈Java笔记:线程的生命周期

    一个线程对象在它的生命周期内,需要经历5个状态. 新生状态(New) 用new关键字建立一个线程对象后,该线程对象就处于新生状态.处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态 ...

  9. pthread_create函数阻塞了主线程_5个状态,Python 中线程的生命周期

    编 程 的 朝 圣 之 路 ---------------------------------------- 当程序中包含多个线程时,CPU 不是一直被特定的线程霸占,而是轮流执行各个线程. 那么,C ...

最新文章

  1. 【NLP】Attention Model(注意力模型)学习总结
  2. 【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )
  3. git操作之版本控制
  4. 02_Nginx基本配置与参数说明 + 辅助命令
  5. 6万人砍不下来一部拼多多手机,背后原来是这个原因。
  6. uni-app定时器清除问题
  7. java jwt 验证_教程:用Java创建和验证JWT
  8. 用户如何有效地利用数据字典(转)
  9. 使用ICSharpCode.TextEditor制作一个语法高亮显示的XML编辑器
  10. UVa 11998 破碎的键盘(数组实现链表)
  11. 初分配和再分配图解_针织好看暖和的儿童帽子图解教程,宝妈们千万不要错过...
  12. php生成站点地图,php生成百度站点地图sitemap.xml
  13. 1.Zabbix企业级分布式监控系统 --- 监控系统简介
  14. 高可用PgSQL集群架构设计与落地
  15. 视频直播产业的下半场,谁会走谁会留?
  16. searchableSelect下拉框插件增加按拼音及首拼搜索
  17. 编程之类的文案_最萌编程高手是这样炼成的
  18. Python之ARP协议探测MAC地址
  19. JavaScrip笔记心得(持续更新)
  20. 18种为你的网站引流的好方法

热门文章

  1. Leetcode每日一题:52.N-Queens II(N皇后Ⅱ)
  2. 前端 常用css总结
  3. java chackbox,Java CheckBox.setText方法代码示例
  4. 通用Shell脚本,可以优雅的启动/关闭/重启/JAVA服务
  5. [设计模式-创建型]单态(Singleton)
  6. mysql中变量值得输出,几个比较重要的MySQL变量
  7. java笔_JAVA笔试题(基础一)
  8. python正则表达式匹配字母和下划线_个英文字母、下划线或汉字的正则表达式
  9. STM32之定时器中断控制LED闪烁
  10. mysql8.0依赖_分享MySql8.0.19 安装采坑记录