当前位置: 首页 > news >正文

Java中线程的生命周期

Java中线程的生命周期

Java中线程的声明周期与os中线程的生命周期不太一样,java中线程有6个状态,见下:

  • NEW: 初始状态,线程被创建出来但没有被调用 start()
  • RUNNABLE: 运行状态,线程被调用了 start()等待运行的状态。
  • BLOCKED :阻塞状态,需要等待锁释放。
  • WAITING:等待状态,表示该线程需要等待其他线程做出一些特定动作(通知或中断)。
  • TIME_WAITING:超时等待状态,可以在指定的时间后自行返回而不是像 WAITING 那样一直等待。
  • TERMINATED:终止状态,表示该线程已经运行完毕。

简图:

从操作系统角度看Java进程的声明周期:
在这里插入图片描述

稍微复杂点:(这张图画的大致正确)

在这里插入图片描述

其中RUNABLE包含了OS中的执行与准备这两个状态。

至于各个状态之间如何转换,这里先不写了,二次复习的时候再深入。(见下:)

sleep()不会释放锁,只是普通的进入到了延时等待状态,wait和join会释放锁,所以他们进入等待状态后,还是可能进入阻塞状态的。

在这里插入图片描述

http://www.lryc.cn/news/92913.html

相关文章:

  • 光线追踪RayTracing,基本原理,判断物体与光线相交
  • 三十六、数学知识——组合数(递推法 + 预处理法 + 卢卡斯定理 + 分解质因数求解组合数 + 卡特兰数)
  • LinuxC编程——高级文件操作
  • 【基础知识整理】图的基本概念 邻接矩阵 邻接表
  • 5.程序控制结构|Java学习笔记
  • 【最优PID 整定】PID性能指标(ISE,IAE,ITSE和ITAE)优化、稳定性裕量(Matlab代码实现)
  • Linux内核中断和Linux内核定时器
  • OMG--IDL(Interface Definition Language)
  • 英语学习:M开头
  • 【计算机组成原理与体系结构】控制器
  • 结构化命令
  • Java Web实训项目:西蒙购物网
  • ChatGPT Prompt 提示词设计技巧必知必会
  • 尚硅谷-云尚办公-项目复盘
  • nacos升级到2.0.3(单机模式)
  • Koa学习3:用户添加、错误处理
  • 网络安全入门学习第十五课——PHP基础
  • 电子科技大学 数学专业-功不唐捐,玉汝于成
  • Android10.0 iptables用IOemNetd实现删除子链功能的实现
  • OpenGL光照之光照贴图
  • 2018~2019 学年第二学期《信息安全》考试试题(B 卷)
  • LeetCode-C#-0002.两数相加
  • 访问修饰符private,default,protected,public访问等级区别
  • 阿里云(Linux)安装Docker教程
  • Linux C编程基础:获取时间
  • Spring核心注解
  • 哈希表原理,以及unordered_set/和unordered_map的封装和迭代器的实现
  • 如何把歌曲里的伴奏音乐提取出来,分享几个方法给大家!
  • 区块链产业快速发展 和数集团开启区块链应用新时代
  • 初出茅庐的小李博客之常见字符串函数使用