美文网首页
Kotlin线程(3)线程状态

Kotlin线程(3)线程状态

作者: 狼性代码人 | 来源:发表于2019-06-18 07:29 被阅读0次

在线程的生命周期中,线程会有5种状态。

  • 新建状态
    新建状态(New)是通过实例化 Thread 创建线程对象,它仅仅是一个空的线程对象。

  • 就绪状态
    当主线程调用新建线程的 start() 函数后,它就进入就绪状态(Runnable)。此时的线程尚未真正开始执行线程体,它必须等待 CPU 的调度。

  • 运行状态
    CPU 调度就绪状态的线程,线程进入运行状态(Running),处于运行状态的线程独占 CPU,执行完成线程体。

  • 阻塞状态
    由于某种原因运行状态的线程会进入不可运行状态,即阻塞状态(Blocked)。Java 虚拟机系统不能执行处于阻塞状态的线程,即使 CPU 空闲,也不能执行该线程。如下几个原因会导致线程进入阻塞状态:

    • 当前线程调用 sleep 函数,进入休眠状态;
    • 被其他线程调用了 join 函数,等待其他线程结束;
    • 发出 I/O 请求,等待 I/O 操作完成期间;
    • 当前线程调用 wait 函数。

    处于阻塞状态可以重新回到就绪状态,如休眠结束、其他线程加入、I/O 操作完成 和 调用 notifynotifyAll 唤醒 wait 线程。

  • 死亡状态
    线程执行完成线程体后,就会进入死亡状态(Dead),线程进入死亡状态有可能是正常执行完成进入,也可能是由于发生异常而进入的。


    线程状态

相关文章

  • Kotlin线程(3)线程状态

    在线程的生命周期中,线程会有5种状态。 新建状态新建状态(New)是通过实例化 Thread 创建线程对象,它仅仅...

  • Kotlin 单例

    1.懒汉模式 java kotlin 2.懒加载(非线程安全) java kotlin 3.懒加载(线程安全) j...

  • ThreadPoolExecutor学习笔记

    线程池状态: 高3位表示"线程池状态"低29位表示"线程池中的任务数量" Worker

  • java线程之一(基础知识总结)

    目录 1、线程的概念 2、创建线程的方法 3、线程的状态及转换 4、线程的主要方法 ---------------...

  • java多线程

    java多线程 线程类源码解读(2)-线程状态及常用方法 线程类源码解读(3)-线程中断 逐行分析AQS源码(1)...

  • 多线程学习笔记

    目录 1. 线程介绍 2. 线程实现(重点) 3. 线程状态 4. 线程同步(重点) 5. 线程通信问题 6. 高...

  • Java多线程深度探索

    线程1.优先级2.守护线程3.常用方法4.线程状态 多线程操作1.volatile2.Atomic3.CAS 锁[...

  • Kotlin-Coroutine协程初探-扫盲

    什么是协程? 轻量级线程, 用户态的, 很像线程但又不是线程。 什么是kotlin中的协程? 协程是Kotlin官...

  • kotlin 协程

    协程是轻量级的线程。 kotlin协程是kotlin的扩展库(kotlinx.coroutines)。 线程在An...

  • Java并发编程基础-线程简介

    章节目录 1.线程定义 2.使用多线程的优势 3.线程优先级 4.线程的状态 5.Daemon 线程 1.线程定义...

网友评论

      本文标题:Kotlin线程(3)线程状态

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