前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >线程的生命周期

线程的生命周期

作者头像
用户7386338
发布2020-07-03 10:03:04
7330
发布2020-07-03 10:03:04
举报
文章被收录于专栏:Java患者Java患者

线程的生命周期

线程的六种状态: NEW、RUNNABLE、BIOCKED、WAITING、TIME_WAITING、TERMINATED。

  • NEW:初始状态,线程被构建,但是还没调用start方法;
  • RUNNABLE: 运行中状态,包括了就绪状态跟运行两种状态;
  • BLOCKED: 阻塞状态,线程进入等待状态,也就是线程因为某种原因放弃了CPU的执行权,分为多种情况

等待阻塞: 运行的线程执了wait方法,jvm把当前线程放入到等待队列中

同步阻塞:运行的线程获取到对象的同步锁时,若该同步锁被其他线程占用了,jvm会把当前线程放入锁池中

其他阻塞: 运行的线程执行了Thread.sleep()或者join方法,JVM会把当前线程设置为阻塞状态,当sleep结束或者 join线程终止则线程回复

  • WAITING: 一个正在无限期等待另一个线程执行一个特别的动作的线程
  • TIME_WAITING: 超时等待状态,超时以后自动返回
  • TERMINATED:终止状态, 表示当前线程执行完毕。
图解

首先线程的出生到销毁是上面的3个状态;

接着线程可以调用wait()方法变成WAITING状态

当有两个线程的时候,我们加锁可以转变线程的状态为BLOCKED

最后当我们执行wait(),join(),sleep() 会进入TIME_WAITING状态

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java患者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 线程的生命周期
    • 图解
    相关产品与服务
    NAT 网关
    NAT 网关(NAT Gateway)提供 IP 地址转换服务,为腾讯云内资源提供高性能的 Internet 访问服务。通过 NAT 网关,在腾讯云上的资源可以更安全的访问 Internet,保护私有网络信息不直接暴露公网;您也可以通过 NAT 网关实现海量的公网访问,最大支持1000万以上的并发连接数;NAT 网关还支持 IP 级流量管控,可实时查看流量数据,帮助您快速定位异常流量,排查网络故障。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档