java 线程生命周期

线程的生命周期可以通过查看Thread 的源码来看。
Thread这个类中有一个 State 的枚举类,其中定了了线程的6种状态

public enum State {
        NEW,
		
        RUNNABLE,

        BLOCKED,

        WAITING,

        TIMED_WAITING,
        
        TERMINATED;
    }

这6种状态之间的关系我大致画了 如下的一个图:
在这里插入图片描述

下面对这几个状态做一一介绍

状态名解释
NEW线程创建完毕但是还么有启动,也就是一个线程对象刚被 new 出来 但是还没有去调用他的 start() 方法
RUNNABBLE调用了start() 方法,线程正在运行
TERMINATED线程终止,也就是一个线程结束了
BLOCKED线程阻塞,可以调用sleep 方法,进入这个状态,sleep 方法不会释放资源,从而导致阻塞
WAITING线程等待,调用notify 唤醒
TIMED_WAITING等待超时,可以设置一个超时时间,过了超时时间自动回到RUNABLE状态

关于这6种状态之间的相互转换,在后续的章节中,还会做进一步的介绍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值