Java中线程有多少种状态(State)?状态之间的关系有什么关系?

目录

一、系统内核中的线程状态

二、Java中的线程状态


一、系统内核中的线程状态

状态说明
就绪状态线程已经准备就绪,随时可以接受CPU的调度。
阻塞状态线程处于阻塞等待,暂时无法在CPU中执行。

二、Java中的线程状态

相比于系统内核,Java中对线程的状态进行了更详细的划分:
状态说明
NewThread对象成功创建,但尚未调用start方法。
Terminated线程已经执行完毕,但Thread对象仍未销毁。
Runnable就绪状态,可工作的,随时可以或现在就在CPU上执行。
Timed_waiting指定等待时间的阻塞,达到指定时间自动解除阻塞。
Waiting阻塞状态,没有时间限制,需要其他条件才可唤醒。
Blocked由于锁竞争引起的阻塞。

Java中线程状态之间的关系:

打印线程状态的枚举:

public class Thread_Demo15 {
    public static void main(String[] args) {
        for(Thread.State state:Thread.State.values()){
            System.out.println(state);
        }
    }
}

打印结果:

NEW
RUNNABLE
BLOCKED
WAITING
TIMED_WAITING
TERMINATED


Java中,线程状态使用枚举保存,以上为枚举的内容,即Java中所有的线程状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值