java中,线程的状态

本文介绍了Java线程的六种状态,包括新建、运行、阻塞、无限期等待、限期等待和终止,并解释了每种状态的含义及如何发生状态转换。

前言:如果你去网上搜索一下“线程状态”,会发现众说纷纭,5大状态、6大状态、7大状态等等。网上有: 新建、就绪、可执行、运行、阻塞、锁池、挂起、中断、等待、结束、死亡、停滞等等,看到这些名词,你一定晕了吧?

一、线程状态在哪里看?

在jdk的rt.jar包中,有个Thread线程类,如下

在这里插入图片描述
可以看到上面Thread线程类总共包含6个状态。

二、线程的6种状态

状态中文名称状态英文名称说明
新建newThread 类或其子类使用 new 关键字创建一个线程对象后,尚未调用start()方法启动的线程,处于这种状态。
运行runnable包括操作系统线程状态中的 ReadyRunning ,也就是处于此状态的线程有可能正在等待着操作系统为它分配执行时间,也有可能正在执行。【当线程对象调用了start()方法之后,该线程就进入就绪状态Ready。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度,如果获得CPU调度就是在运行中状态Running
阻塞blocked这种状态是指一个阻塞线程在等待monitor锁
无限期等待waiting一个线程在等待另一个线程执行一个动作时在这个状态
限期等待timed_waiting一个线程在一个特定的等待时间内等待另一个线程完成一个动作会在这个状态
终止terminated已终止线程的线程状态,线程已经结束执行。

三、线程状态的转换

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值