美文网首页
线程有哪几种状态,是如何流转的?

线程有哪几种状态,是如何流转的?

作者: 糯米团子123 | 来源:发表于2022-11-10 16:41 被阅读0次
image.png
  1. new(新建)
    线程刚被创建,还未启动。
  2. runnable(就绪)
    线程调用了start()方法,此时线程已启动但未被运行,等待获取cpu资源。
  3. running(运行)
    线程获取到cpu资源,执行代码程序
  4. blocked(阻塞)
    线程由于某种原因放弃cpu资源,暂停运行。直到线程重新进入就绪状态才重新竞争CPU资源,转到运行状态。
    阻塞分为三种情况:
    4.1 等待阻塞:线程执行wait()方法,释放占用的所有资源,JVM将线程放入“等待池”等待notify()或者notifyAll()唤醒,竞争资源。
    4.2 同步阻塞:running状态的线程获取对象同步锁时候,该同步锁被被其他线程占用,JVM会把该线程放入“锁池”中,
    4.3 其他阻塞:running状态的线程执行sleep()或者join()方法,或者发出I/O请求时,JVM把该线程置为阻塞状态,当sleep()超时,join()终止或者超时,I/O处理完毕,线程重新转为就绪状态。
  5. dead(死亡)
    线程执行结束,或者因异常退出run()方法,该线程生命周期结束。

相关文章

  • 精选30道Java多线程面试题

    ​ 1、线程和进程的区别 2、实现线程有哪几种方式? 3、线程有哪几种状态?它们之间如何流转的? 4、线程中的st...

  • 线程有哪几种状态,是如何流转的?

    new(新建)线程刚被创建,还未启动。 runnable(就绪)线程调用了start()方法,此时线程已启动但未被...

  • Android/Java 多线程分享

    这篇博客主要有以下几点 什么是线程,和进程的区别 线程有哪几种状态 线程安全的理解 volatile关键字,是线程...

  • 线程状态流转

    线程状态在Thread.java里的State枚举里定义了六种NEW:new Thread() 但尚未启动RUNA...

  • Java多线程:线程状态

    # 面试题 Java中线程有哪几种状态,线程的生命周期。 每个状态的含义。 状态之间的转化过程以及触发条件,图示。...

  • Flink状态管理和恢复机制

    0.问题 1、什么是状态?2、Flink状态类型有哪几种?3、状态有什么作用?4、如何使用状态,实现什么样的API...

  • 阿里面试题

    1.dSYM你是如何分析的? 2.多线程有哪几种?你更倾向于哪一种? 3.单例弊端? 4.如何把异步线程转换成同步...

  • 阿里三面试题

    1.dSYM你是如何分析的? 2.多线程有哪几种?你更倾向于哪一种? 3.单例弊端? 4.如何把异步线程转换成同步...

  • 线程池初探

    线程池架构图 线程池状态流转图 线程池主要参数介绍 corePoolSize: 核心线程数量 maximumPoo...

  • 面试题--先放题目 答案再找

    1.dSYM你是如何分析的?2.多线程有哪几种?你更倾向于哪一种?3.单例弊端?4.如何把异步线程转换成同步任务进...

网友评论

      本文标题:线程有哪几种状态,是如何流转的?

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