废话不多说,有六种状态

当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中, 有几种状态呢?在Thread类中包含了个State枚举类,State枚举类中有6个枚举常量,对应着线程6种状态

public enum State {

NEW,

RUNNABLE,

BLOCKED,

WAITING,

TIMED_WAITING,

TERMINATED;

}

下面将对每种状态进行详细解析:

  1. 新建(new):线程刚被创建,但是并未启动。还没调用start方法。
  2. 锁阻塞(Blocked):当一个线程试图获取一个对象锁,而该对象锁被其他的线程持有,则该线程进入Blocked状态;当该线程持有锁时,该线程将变成Runnable状态。
  3. 可运行(Runnable):线程可以在java虚拟机中运行的状态,可能正在运行自己代码,也可能没有,这取决于操 作系统处理器。
  4. 计时等待(Timed Waiting):同waiting状态,有几个方法有超时参数,调用他们将进入Timed Waiting状态。这一状态 将一直保持到超时期满或者接收到唤醒通知。带有超时参数的常用方法有Thread.sleep 、 Object.wait。
  5. 无限等待(Waiting):一个线程在等待另一个线程执行一个(唤醒)动作时,该线程进入Waiting状态。进入这个 状态后是不能自动唤醒的,必须等待另一个线程调用notify或者notifyAll方法才能够唤醒。
  6. 被终止(Teminated):因为run方法正常退出而死亡,或者因为没有捕获的异常终止了run方法而死亡。

线程6种状态

线程的几种状态_拜托:不要再问我线程有多少种状态了相关推荐

  1. java编程题身高排队_身高排队算法-(较优解):12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?...

    本人对解决算法有兴趣,曾在网上看到过一道阿里巴巴的面试题. 题目是这样的:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种? 所以自己也考虑了一 ...

  2. wps里的茶色字体怎么设置_《excel颜色筛选》 WPS2019的EXCEL整行填充一种颜色保存后关闭再打开就变成两种深浅不同的颜色是怎么回事呢?请大神帮忙解决...

    WPS2019的EXCEL整行填充一种颜色保存后关闭再打开就变成两种深浅不同的颜色是怎么回事呢?请大神帮忙解决 格式刷提取那个单元格格式复制后颜色,保存后打开也的吗? 还有你可以右键单元格后下两种的图 ...

  3. java代码实现:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?...

    此题参考与其他人思路, 2个解题方式. 1. 1 /** 2 * 用java代码实现:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种? 3 * ...

  4. week3-day7 某人想将手中的一张面值100元的人民币换成10元、5元、2元和1元面值的票子。要求换正好40张,且每种票子至少一张。问:有几种换法?

    某人想将手中的一张面值100元的人民币换成10元.5元.2元和1元面值的票子.要求换正好40张,且每种票子至少一张.问:有几种换法? 条件: 面值为10.5.2.1的钞票至少各有一张: 所有面额相加为 ...

  5. 将手中的一张面值100元的人民币换成10元、5元、2元和1元面值的票子。 //要求换正好40张,且每种票子至少一张。问:有几种换法?

    #include<stdio.h> int main() {//某人想将手中的一张面值100元的人民币换成10元.5元.2元和1元面值的票子.//要求换正好40张,且每种票子至少一张.问: ...

  6. 12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人 高,问排列方式有多少种?

    12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第一排比对应的第二排的人高,问排列方式有多少种? 思想:分析一下排列法,发现:每次安插第二排时,只要等第一排的选完了,再选最小值就行了.而选第 ...

  7. 某人想将手中的一张面值100元的人民币换成10元、5元、2元和1元面值的票子。要求换正好40张,且每种票子至少一张。 问:有几种换法? input: 无 Output:该数字小于100;

    int main() {/*某人想将手中的一张面值100元的人民币换成10元.5元.2元和1元面值的票子.要求换正好40张,且每种票子至少一张.问:有几种换法?input: 无 Output:该数字小 ...

  8. java future 线程 状态_手把手带你了解Java线程的实现方式及生命周期原理

    前言 我们在工作中线程技术很多情况下都能用的到,而且我们在面试的时候,线程技术基本上也是必问的.今天我来从线程的实现方式以及线程的生命周期做一个全面的讲解与分析,帮助大家能更好的去了解线程技术. 概念 ...

  9. 实时监测tcp链接状态_终于搞懂了 TCP 的 11 种状态,太不容易了…

    后台回复"666",获取新资料 本来想写运维过程中,nginx 服务器中 time_wait 的相关测试及解决方法的,然后发现TCP 的状态需要先铺垫一下,于是就整理了这篇文章. ...

  10. 期刊投稿状态_你知道SCI论文审稿的12种状态吗?

    论文写好,将论文投稿出去后,会有一个漫长的等待过程.而在这个等待过程中,我们可能想知道我们的论文在审稿中的状态,会在网上看和刷新自己的论文状态,但可能会遇到一些不明白是什么意思的状态,也有可能会遇到很 ...

最新文章

  1. Keras【Deep Learning With Python】LSTM 循环神经网络解决Regressor回归问题
  2. Redis之intset(整数集合)
  3. 程序的不同段的区别和作用
  4. Java 函数传递对象是引用传递还是值传递?
  5. 小甲鱼Python第二十八讲(文件)
  6. Java语言程序设计 基础篇 原书第10版梁勇著 课后编程练习题答案1
  7. matlab中figure的基本用法
  8. html+css+javascript+jquery+bootstarp响应式旅行社旅游平台网站模板(14页)
  9. android textview左边图片,Android TextView 多种方式显示图片-Fun言
  10. 谈谈Google AdSense以外的国外优秀广告联盟
  11. Helio X30剩魅族一家客户 联发科恢复元气要一年半
  12. 一图弄懂Arthas——Java故障定位神器
  13. unable to open debugger port问题解决
  14. replaceAll(xxxx, File.separator); 报错character to be escaped is missing-1
  15. cygwin 安装 ffplay
  16. 安装centos 7
  17. mysql主从复制mmm_MMM+MYSQL主从同步
  18. c语言程序实践感受心得,C语言实践心得体会
  19. ch454c语言程序实例,16段数码管驱动和键盘控制芯片CH454.PDF
  20. 隐私保护学习笔记(privacy protection reading list)

热门文章

  1. 用户目录更改后显示为-bash-3.1#
  2. JS应用之禁止抓屏、复制、打印
  3. [转载]优化ASP.NET应用程序性能研究与探讨
  4. 【TensorFlow】TFRecord数据集的制作:读取、显示及代码详解
  5. 神经风格迁移(Neural Style Transfer)程序实现(Keras)
  6. java 什么是内存屏障,java内存屏障和可见性
  7. Ubuntu安装Nginx+PHP5.6+MySQL5.6
  8. 用CSS实现首字下沉效果,仿word的首字下沉
  9. python3图形界面简单案例(tkinter)
  10. dos定义变量算术运算逻辑运算表达式分隔符