java线程的状态

原创 2016年06月07日 09:48:41

NEW 状态是指线程刚创建, 尚未启动

RUNNABLE 状态是线程正在正常运行中, 当然可能会有某种耗时计算/IO等待的操作/CPU时间片切换等, 这个状态下发生的等待一般是其他系统资源, 而不是锁, Sleep等
BLOCKED 这个状态下, 是在多个线程有同步操作的场景, 比如正在等待另一个线程的synchronized 块的执行释放, 或者可重入的 synchronized块里别人调用wait() 方法, 也就是这里是线程在等待进入临界区

WAITING 这个状态下是指线程拥有了某个锁之后, 调用了他的wait方法, 等待其他线程/锁拥有者调用 notify / notifyAll 一遍该线程可以继续下一步操作, 这里要区分 BLOCKED 和 WATING 的区别, 一个是在临界点外面等待进入, 一个是在理解点里面wait等待别人notify, 线程调用了join方法 join了另外的线程的时候, 也会进入WAITING状态, 等待被他join的线程执行结束

TIMED_WAITING 这个状态就是有限的(时间限制)的WAITING, 一般出现在调用wait(long), join(long)等情况下, 另外一个线程sleep后, 也会进入TIMED_WAITING状态

TERMINATED 这个状态下表示 该线程的run方法已经执行完毕了, 基本上就等于死亡了(当时如果线程被持久持有, 可能不会被回收)

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java线程之线程的五种状态

线程的 5 中状态 1. New 新建状态 当程序使用 new 关键字创建了一个线程后,该线程就处于新建状态,此时线程还未启劢, 当线程对象调用 start()方法时,线程启劢,迚入...
  • u010785585
  • u010785585
  • 2016年10月11日 14:17
  • 1522

[Java并发编程]-线程的六种状态及其状态转换

1.线程自身信息线程运行的过程会产生很多信息,这些信息都保存在Thread类中的成员变量里面,常见的有: a.线程的ID是唯一标识getId() b.线程的名称:getName(),如果不设置线程...
  • UniKylin
  • UniKylin
  • 2015年04月15日 02:14
  • 5044

java 线程有几种状态

在java中,线程通常有五种状态,创建,就绪,运行、阻塞和死亡状态。   第一是创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态。   第二是就绪状态。当调...
  • L398724306
  • L398724306
  • 2015年04月29日 08:35
  • 1768

java线程状态——java线程状态图

java线程状态图,网上有很多资源,无外乎两种,如下: 图一 图二 图二是比较多的,可以看出来我贴出的链接这个博主挺有心的,还把右下角的水印给抹去了,赤裸裸的伪原创心理呀。 还有几张图说的也挺...
  • u014783753
  • u014783753
  • 2017年02月14日 17:03
  • 304

Java多线程之线程的五种状态以及状态之间的关系

线程状态类型 新建状态(New):新创建了一个线程对象。 就绪状态(Runnable):也叫可运行状态。线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可...
  • qq598535550
  • qq598535550
  • 2016年10月31日 20:12
  • 5710

Java线程池中线程的状态简介

首先明确一下线程在JVM中的各个状态(JavaCore文件中) 1.死锁,Deadlock(重点关注)  2.执行中,Runnable(重点关注)    3.等待资源,Waiting...
  • libing13810124573
  • libing13810124573
  • 2015年12月21日 09:36
  • 1169

JAVA 线程状态转换图示及说明

JAVA 线程状态转换图示及说明一、转换图示如下:二、转换说明线程状态类型 1. 新建状态(New):新创建了一个线程对象。 2. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的...
  • PCCEO1
  • PCCEO1
  • 2016年09月05日 23:09
  • 2830

利用jstack查看线程运行状态

首先一段代码 public class P173ThreadState { public static void main(String[] args) { new Thread(new T...
  • qq_29631069
  • qq_29631069
  • 2017年04月26日 23:13
  • 776

java多线程(三)、线程的生命周期(状态)和线程的操作

三、线程的生命周期(状态)和线程操作 (一)线程的生命周期(状态)                                                                ...
  • wjtyy
  • wjtyy
  • 2015年05月31日 16:12
  • 1625

java中的线程(一)——线程的五种状态和线程的创建方式

一、在java中,线程通常有五种状态,创建,就绪,运行、阻塞和死亡状态。   第一是创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态。    第二是就绪状态。当调用...
  • u011809714
  • u011809714
  • 2015年10月17日 17:42
  • 1140
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java线程的状态
举报原因:
原因补充:

(最多只允许输入30个字)