美文网首页
Java的线程状态

Java的线程状态

作者: 雁阵惊寒_zhn | 来源:发表于2020-09-26 23:43 被阅读0次

Java语言定义了6种线程状态。在任一时刻,某个线程处于且只能处于其中的一种状态。

  • 新建(New):创建后尚未启动的线程。
  • 运行(Runnable):正在执行或者正在等待操作系统分配执行时间的线程。
  • 无限期等待(Waiting):不会被分配处理器执行时间,需要等待被其他线程显式唤醒
  • 限期等待(Timed Waiting):不会被分配处理器执行时间,也不需要等待其他线程唤醒,在一定时间之后会由系统自动唤醒
  • 阻塞(Blocked):等待着获取一个排他锁
  • 结束(Terminated):线程已经结束执行。

下图是线程6种状态的转换:


Java线程状态转换

在普通情况下,线程的生命周期经由\color{red}{红色}箭头线方向执行,经历创建——运行——结束的过程。
如果执行过程遇到同步锁,在竞争锁失败的情况下,会执行\color{green}{绿色}箭头线方向,线程阻塞去等待同步锁的释放。
在线程执行中,主动执行了Object的等待/通知函数,或者线程的join方法,会执行\color{black}{黑色}箭头线方向,进入有限等待或者无限等待状态。

实践中,可以执行jstack命令查看线程状态。

相关文章

  • Java 线程的七种状态

    本篇感性地介绍一下 Java 线程的七种状态以及状态之间的转换 Java 线程状态转换图 Java 线程状态 在 ...

  • 线程状态

    java线程与操作系统线程状态略有不同。 1. 操作系统底层线程状态: 课本经典五状态: 2. JAVA线程状态:...

  • Java 线程有哪些状态?

    Java 线程有哪些状态 1.Java线程状态 1.1 线程主要状态 ①初始(NEW):新创建了一个线程对象,但还...

  • 说一下Java线程状态及切换

    一、什么是Java线程状态 在Java程序中,用于描述Java线程的六种状态: 新建(NEW):当前线程,刚刚新建...

  • Java线程简介

    本文将介绍Java线程的状态、线程的中断、线程间通信和线程的实现。 线程的状态 Java语言定义了6种不同的线程状...

  • java线程状态

    java的线程状态包括以下几种: NEW 线程创建的初始状态。 RUNABLE 线程正在执行。 注意这里是java...

  • JAVA 笔记[12.1][多线程之线程状态]

    JAVA线程状态

  • 总结多线程与设计模式+synchronized+性能+高吞吐+死

    Java线程 Java语言的线程 何谓线程 线程启动 线程的暂时停止 线程的共享互斥 线程的协调 线程的状态转移 ...

  • 理解java线程

    java线程的生命周期 Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:...

  • Java知识梳理六

    一、Java多线程一 1.谈谈线程的生命周期和状态转移 关于线程生命周期的不同状态,在Java 5以后,线程...

网友评论

      本文标题:Java的线程状态

      本文链接:https://www.haomeiwen.com/subject/nmefuktx.html