34.线程的生命周期【20220812】

1、线程的生命周期就是线程从一开始创建,到run方法执行完毕以后的状态变化。[状态之间的切换]
2、线程的生命周期几种状态【1、新建状态 2、就绪状态 3、运行状态  4.阻塞状态 5.死亡状态】

线程的生命周期描述
1.新建状态:通过new的方式创建出线程对象,此时线程就进入到创建状态【新建状态】。
           新建状态的线程是不能运行。
           新建状态的线程调用start方法,进入就绪状态

2.就绪状态:线程具备运行能力,只差操作系统【CPU】分配给他运行时间片【万事具备,只欠时间片】
           得到操作系统【CPU】分配给他运行时间片,此时开始执行run方法,进入运行状态。

3.运行状态:线程运行run方法。
        回到就绪状态:
        1.操作系统【CPU】分配给他运行时间片使用完毕,回到就绪状态。

        进入阻塞状态
        1.运行状态的线程执行了sleep方法,进入阻塞状态。
        2.运行状态的线程执行了wait方法,进入阻塞状态。
        3.运行状态的线程执行输入/输出动作,进入阻塞状态。
        ......

        进入死亡状态
        1.运行状态的线程run方法执行完毕,进入死亡状态。
        2.运行状态的线程调用stop()/destroy() ,进入死亡状态。

4.阻塞状态:线程暂停运行
        回到运行状态
        阻塞状态中的线程,结束了造成阻塞的原因,此时线程进入就绪状态,得到操作系统【CPU】分配给他运行时间片就可以进入运行状态。

        运行状态进入阻塞状态原因:
        1.运行状态的线程执行了sleep方法,进入阻塞状态,休眠时间结束/interrupt,进入就绪状态
        2.运行状态的线程执行了wait方法,进入阻塞状态,调用notify/notifyAll,进入就绪状态
        3.运行状态的线程执行输入/输出动作,进入阻塞状态,输入/输出结束,进入就绪状态        

5.死亡状态:线程运行结束,释放运行资源。
        死亡状态的线程是不能运行,除非再一次使用strat方法重新启动运行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值