java基础知识之线程

线程的状态管理(生命周期)

资源来源:微专业

Jdk1.5之前多线程的有5种状态,即:New,ready,runnable,block,terminated。
线程从创建到销毁的过程称之为生命周期。我们称这5种状态为线程的生命周期。
新建状态(NEW)和死亡状态(TERMINATED)是最容易理解的。
1、New状态:当线程对象被创建出来的时候,还没有调用start方法之前。
2、Ready状态:当线程对象调用了start方法但是此时处于多个线程在争夺CPU使用权的时候。只有争夺到了CPU的使用权才会进入到下一个状态中,否则就一直处于该状态。
3、Running状态:当某个线程抢夺到了CPU的使用权并且开始运行它的业务逻辑的时候。
4、Block状态:线程由于外部的原因导致它无法继续执行业务逻辑的时候。Block状态又有锁阻塞,指定时长的等待和不指定时长的等待。如线程使用synchronized关键字或者调用sleep()方法等进入Block状态。
5、Terminated状态:该状态是线程业务逻辑执行完毕的终止状态。一旦进入该状态线程对象就无法再调用方法了,否则会抛出异常。
线程一旦被阻塞了并且恢复运行之后都会先回到Ready状态,等待抢夺CPU的使用权从而进入到Runnbale状态。
旧版本线程生命周期的流程图:
在这里插入图片描述
新版本,下图是Thread类的状态枚举类:
在这里插入图片描述

由图可知 Runnable 是旧版本的Ready与Running。增加了Waiting(等待状态)和TimeWaiting(有时间的等待状态)。

新版流程图如下:
在这里插入图片描述
在这里插入图片描述

代码如下图:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值