JAVA线程一共有几种状态
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,这篇文章主要介绍"JAVA线程一共有几种状态",在日常操作中,相信很多人在JAVA线程一共有几种状态问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"JAVA线程一共有几种
千家信息网最后更新 2024年11月22日JAVA线程一共有几种状态
这篇文章主要介绍"JAVA线程一共有几种状态",在日常操作中,相信很多人在JAVA线程一共有几种状态问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"JAVA线程一共有几种状态"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
线程的状态,在你*度的过程中,你会发现,答案有5种,6种,甚至还有7种的,那么究竟有几种状态?
在编译器JDK1.5以后的环境下,打开Thread进入源码看看:
* A thread state. A thread can be in one of the following states:
* 一个线程,有以下几种状态
*
*
{@link #NEW} * ①未启动的线程状态 new
* A thread that has not yet started is in this state.
*
*
{@link #RUNNABLE} * ②在jvm中执行的线程状态 runnable
* A thread executing in the Java virtual machine is in this state.
*
*
{@link #BLOCKED} * ③一个线程被阻塞,等待监控锁的线程状态 blocked
* A thread that is blocked waiting for a monitor lock
* is in this state.
*
*
{@link #WAITING} * ④一个线程 为了永久等待另一个线程特定的操作的线程状态 waiting
* 翻译后通顺点:无限等待另一个线程的线程执行特定的操作处于此状态
* A thread that is waiting indefinitely for another thread to
* perform a particular action is in this state.
*
*
{@link #TIMED_WAITING} * ⑤ 一个线程 等待另一个线程执行特定的操作的等待时间内的线程状态 timed_waiting
* 正在等待另一个线程执行某个操作的线程在指定的等待时间内处于这种状态
* A thread that is waiting for another thread to perform an action
* for up to a specified waiting time is in this state.
*
*
{@link #TERMINATED} * ⑥一个线程已经被退出的状态 终止 terminated
* A thread that has exited is in this state.
*
*
*
*
* 在给定的时间点上,线程只能处于一种状态。这些状态是虚拟机状态,不反映任何操作系统线程状态
* A thread can be in only one state at a given point in time.
* These states are virtual machine states which do not reflect
* any operating system thread states.
*
* @since 1.5
* @see #getState
*/
```
插入源码
public enum State {
/**
* Thread state for a thread which has not yet started.
*/
NEW,
/**
* Thread state for a runnable thread. A thread in the runnable
* state is executing in the Java virtual machine but it may
* be waiting for other resources from the operating system
* such as processor.
*/
RUNNABLE,
/**
* Thread state for a thread blocked waiting for a monitor lock.
* A thread in the blocked state is waiting for a monitor lock
* to enter a synchronized block/method or
* reenter a synchronized block/method after calling
* {@link Object#wait() Object.wait}.
*/
BLOCKED,
/**
* Thread state for a waiting thread.
* A thread is in the waiting state due to calling one of the
* following methods:
*
*
{@link Object#wait() Object.wait} with no timeout *
{@link #join() Thread.join} with no timeout *
{@link LockSupport#park() LockSupport.park} *
*
*
A thread in the waiting state is waiting for another thread to
* perform a particular action.
*
* For example, a thread that has called Object.wait()
* on an object is waiting for another thread to call
* Object.notify() or Object.notifyAll() on
* that object. A thread that has called Thread.join()
* is waiting for a specified thread to terminate.
*/
WAITING,
/**
* Thread state for a waiting thread with a specified waiting time.
* A thread is in the timed waiting state due to calling one of
* the following methods with a specified positive waiting time:
*
*
{@link #sleep Thread.sleep} *
{@link Object#wait(long) Object.wait} with timeout *
{@link #join(long) Thread.join} with timeout *
{@link LockSupport#parkNanos LockSupport.parkNanos} *
{@link LockSupport#parkUntil LockSupport.parkUntil} *
*/
TIMED_WAITING,
/**
* Thread state for a terminated thread.
* The thread has completed execution.
*/
TERMINATED;
}
```
到此,关于"JAVA线程一共有几种状态"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
线程
状态
学习
时间
更多
源码
帮助
实用
通顺
接下来
操作系统
文章
方法
正在
环境
理论
知识
答案
篇文章
系统
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
读取网址数据存取数据库
ipad数据库已损坏
从数据库中读取图形数据
数据库报错2203
瑞安网络安全产品
网络安全法是否只能在我国使用
网络技术部活动创意
南宁学院计算机网络技术
智慧树数据库应用技术
春节网络安全宣传
数据库系统中的技术
渐江正泰网络技术有限公司
网络安全保密小报
求购软件开发
网络安全培训管理
连接数据库xml怎么写
丰巢网络技术有限公司企业文化
软件开发都有啥部门
简单软件开发合同范本大全
数据库五个数据类型
免费vps服务器申请
苏州软件开发app前十名
gta服务器在哪
网络安全理解错误的是
数据库怎么导入电脑
宣城出入库软件开发平台
软件开发公司经营许可证
计算机网络安全基础会计第六版
积微物联软件开发商
软件开发要学多少