美文网首页
Java线程基本状态

Java线程基本状态

作者: peerben | 来源:发表于2018-08-24 14:15 被阅读11次
  1. 新建(new):新创建了一个线程对象。

  2. 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取cpu的使用权。

  3. 运行(running):可运行状态(runnable)的线程获得了cpu时间片(timeslice),执行程序代码。

  4. 阻塞(block):阻塞状态是指线程因为某种原因放弃了cpu使用权,也即让出了cpu timeslice,暂时停止运行。直到线程进入可运行(runnable)状态,才有 机会再次获得cpu timeslice转到运行(running)状态。阻塞的情况分三种: (一). 等待阻塞:运行(running)的线程执行o.wait()方法,JVM会把该线程放 入等待队列(waitting queue)中。 (二). 同步阻塞:运行(running)的线程在获取对象的同步锁时,若该同步锁 被别的线程占用,则JVM会把该线程放入锁池(lock pool)中。 (三). 其他阻塞: 运行(running)的线程执行Thread.sleep(long ms)或t.join()方法,或者发出了I/O请求时,JVM会把该线程置为阻塞状态。当sleep()状态超时join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入可运行(runnable)状态。

死亡(dead):线程run()、main()方法执行结束,或者因异常退出了run()方法,则该线程结束生命周期。死亡的线程不可再次复生。

cb29b-9bblv.jpg

相关文章

  • 理解java线程

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

  • Java线程基本状态

    新建(new):新创建了一个线程对象。 可运行(runnable):线程对象创建后,其他线程(比如main线程)调...

  • Android多线程-并发实例记录

    多线程基本概念 Java线程五种基本状态:1)新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thr...

  • Java线程基本方法

    相关线程的基本方法,都会影响Java线程状态的变化,常见的Java线程方法有wait、notify、notifyA...

  • JAVA线程生命周期

    JAVA线程生命周期 摘要 本文详细总结了java线程的五种基本状态,和状态之间的转换关系;介绍了常见了创建线程的...

  • 实战java高并发程序设计第二章(连更)

    1.线程的基本状态2.线程的基本操作3. volatile与java内存模型4.线程组5.守护线程(Daemon)...

  • java多线程基础

    多线程是java基础中不可或缺的一块内容,本文主要介绍java线程使用方法,线程同步,线程状态及基本方法;在这里我...

  • Java 线程的七种状态

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

  • 线程状态

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

  • Java并发编程-1

    基本知识一 线程优先级二 线程的状态三 线程函数四 线程间通信 参考:java并发编程的艺术 一 线程优先级 线程...

网友评论

      本文标题:Java线程基本状态

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