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

线程包括哪些状态?线程状态之间是如何变化的?

1. 线程包括哪些状态

新建(NEW)、可运行(RUNNABLE)、阻塞(BLOCKED)、等待(WAITING)、时间等待(TIMED_WALTING)、终止(TERMINATED)

2. 线程状态之间是如何变化的

  • 创建线程对象是新建状态
  • 调用了start()方法转变为可执行状态
  • 线程获取到了CPU的执行权,执行结束是终止状态
  • 在可执行状态的过程中,如果没有获取CPU的执行权,可能会切换其他状态

        ◆ 如果没有获取锁(synchronized或lock)进入阻塞状态,获得锁再切换为可执行状态

        ◆ 如果线程调用了wait()方法进入等待状态,其他线程调用notify()唤醒后可切换为可执行状态

        ◆ 如果线程调用了sleep(50)方法,进入计时等待状态,到时间后可切换为可执行状态

http://www.dtcms.com/a/348573.html

相关文章:

  • yggjs_rlayout框架v0.1.2使用教程 02 TechLayout 布局组件
  • 拿AI下围棋 -- 开源项目leela-zero
  • ​Mac用户安装JDK 22完整流程(Intel版dmg文件安装指南附安装包下载)​
  • mysql历史社区版本下载
  • 面试题及解答:掌握Linux下常用性能分析工具
  • (Redis)过期删除策略
  • 半年网络安全转型学习计划表(每天3小时)
  • Highcharts推出OEM许可证中国区正式上线:赋能企业级嵌入式数据可视化解决方案
  • 如何使用 DeepSeek 助力工作​。​
  • 数据可视化——matplotlib库
  • EPWpy教程:一个脚本完成能带、声子、电声耦合、弛豫时间计算
  • [自用笔记]上传本地项目至github
  • 联想win11笔记本音频失效,显示差号(x)
  • 【嵌入式DIY实例-ESP32篇】-物联网电能表
  • 硬件开发_基于物联网的宠物猫饲养系统
  • 中介者模式与几个C++应用实例
  • 【高等数学】第十章 重积分——第二节 二重积分的计算法
  • 交通拥堵识别准确率↑22.5%!陌讯多模态时序融合算法在智慧交通的落地优化
  • Spring AOP面向切面的底层原理、注解、切入点表达式、连接点获取方法名参数值等
  • C++STL底层原理:探秘标准模板库的内部机制
  • 从全栈开发到微服务架构:一次真实的Java面试实录
  • 【机器学习】9 Generalized linear models and the exponential family
  • 大模型面试题剖析:微调与 RAG 技术的选用逻辑
  • 【Docker项目实战】使用Docker部署Hibiscus.txt简单日记工具
  • VITE BALABALA require balabla not supported
  • Linux:shell命令
  • 【数据结构】-4-顺序表(上)
  • AI Agent与生成式AI双驱动:AI如何重塑商业格局并创造千亿级增量价值
  • 一套完整的Linux下usb设备驱动包括字符设备驱动吗
  • Docker 安装LDAP(企业级统一账号配置系统)