美文网首页
线程有哪些基本状态,每种状态都代表什么

线程有哪些基本状态,每种状态都代表什么

作者: KouKuma | 来源:发表于2020-06-28 22:34 被阅读0次
image.png

new(新建):

当程序使用 new 创建一个线程后, 该线程处于新建状态, 此时它和其它 java 对象一样, 仅仅由 JVM 为其分配内存并初始化成员变量值.

runnable(可运行状态):

实际上可以细分成两种状态: ready(就绪) 和 running(运行) 状态.

ready(就绪):

当线程对象调用 start() 方法后, 该线程处于就绪状态, 进入线程队列排队. 此时该状态线程并未开始执行, 仅表示可以运行了. 至于该线程何时运行, 取决于 CPU 调度器的调度.

running(运行):

表示某线程对象被 CPU 调度器调度, 执行线程体. 就绪状态和运行状态时可以互相切换的, 切换的原因依旧参照 CPU 调度器调度了哪一个线程.

blocked(阻塞):

正在运行的线程遇到某个特殊情况, 比如同步, 等待I/O操作完成等. 进入阻塞状态的线程会让出 CPU 资源, 并暂时停止自己的执行.

waiting(等待):

有时一个可运行状态线程转变成等待状态, 它会等待另一个线程来执行一个任务, 一个等待状态的线程只有通过另一个线程通知它转到可运行状态, 才能继续执行.

timed waiting(计时等待):

计时等待状态是等待状态的升级版, 它会有一个定时器, 在特定时间后自动唤醒该线程对象, 让其进入可运行状态.

terminated(终止):

即死亡状态, 表示线程终止. 当线程成功执行完成或线程抛出未捕获的 Exception 和 Error 或调用线程的 stop 方法时进入该状态.

相关文章

  • 线程有哪些基本状态,每种状态都代表什么

    new(新建):当程序使用 new 创建一个线程后, 该线程处于新建状态, 此时它和其它 java 对象一样, 仅...

  • java语言基础三(JavaGuide-20181212)

    简述线程,程序、进程的基本概念。以及他们之间关系是什么 线程有哪些基本状态?这些状态是如何定义的?31 关于 fi...

  • 面试题 Linux中进程有哪几种状态

    在Linux中进程有哪几种状态,每种状态代表的含义是什么?

  • 线程池的状态以及拒绝策略

    首先我们回顾一下线程有哪些状态。 线程池的状态有哪些呢? 线程池的5种状态是:Running,SHUTDOWN,S...

  • 工作总结之多线程

    一、一些基本概念 1、线程状态 注:线程的死亡状态代表线程任务执行完毕,正常退出。或者手动调用[NSThread ...

  • Java 线程有哪些状态?

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

  • Android基础线程的多种状态

    线程有几种状态,分别是哪些? 1.New,新建状态,当程序new了一个线程后,线程就处于新建状态,此时线程还未启动...

  • 问题:线程有哪些不同的状态

    问题 线程有哪些状态 答案 线程的状态 在Java中,线程一共有六个状态,每个线程在某个时刻处于这六个状态的其中一...

  • 每种状态

    每种状态,似乎都有它既定剧情。 在我们没出生之前就存在这空间当中。 空间思想,一定是我们身体的另一个指挥所。或好或...

  • JUC线程池(4):线程池状态

    我们都知道,线程有5种状态:新建状态,就绪状态,运行状态,阻塞状态,死亡状态。线程池也有5种状态;然而,线程池不同...

网友评论

      本文标题:线程有哪些基本状态,每种状态都代表什么

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