从操作系统层面描述线程的五种状态

简介: 从操作系统层面描述线程的五种状态

 

 

[初始状态]

仅是在语言层面创建 了线程对象, 还未与操作系统线程关联

 

[可运行状态] (就绪状态)

指该线程已经被创建(与操作系统线程关联), 可以由CPU调度执行

[运行状态]

指获取了CPU时间片运行中的状态

当CPU时间片用完,会从[运行状态]转换至[可运行状态],会导致线程的上下文切换

如果调用了阻塞API,如BIO读写文件,这时该线程实际不会用到CPU,会导致线程上下文切换,进

[阻塞状态]

等BIO操作完毕,会由操作系统唤醒阻塞的线程,转换至[可运行状态]

与[可运行状态]的区别是,对[阻塞状态]的线程来说只要它们一-直不唤醒,调度器就-直不会考虑调度它们

[终止状态]

表示线程已经执行完毕,生命周期已经结束,不会再转换为其它状态

相关文章
|
2月前
|
存储 调度 C++
【操作系统】进程与线程的区别及总结(非常非常重要,面试必考题,其它文章可以不看,但这篇文章最后的总结你必须要看,满满的全是干货......)
【操作系统】进程与线程的区别及总结(非常非常重要,面试必考题,其它文章可以不看,但这篇文章最后的总结你必须要看,满满的全是干货......)
69 1
|
1月前
|
Python
Python线程是操作系统能够进行运算的最小单位
【7月更文挑战第18天】Python线程是操作系统能够进行运算的最小单位
20 1
|
1月前
|
监控 Java 调度
Java面试题:描述Java线程池的概念、用途及常见的线程池类型。介绍一下Java中的线程池有哪些优缺点
Java面试题:描述Java线程池的概念、用途及常见的线程池类型。介绍一下Java中的线程池有哪些优缺点
43 1
|
1月前
|
缓存 Java
Java面试题:描述Java中的线程池及其实现方式,详细说明其原理
Java面试题:描述Java中的线程池及其实现方式,详细说明其原理
24 0
|
1月前
|
设计模式 并行计算 安全
Java面试题:如何使用设计模式优化多线程环境下的资源管理?Java内存模型与并发工具类的协同工作,描述ForkJoinPool的工作机制,并解释其在并行计算中的优势。如何根据任务特性调整线程池参数
Java面试题:如何使用设计模式优化多线程环境下的资源管理?Java内存模型与并发工具类的协同工作,描述ForkJoinPool的工作机制,并解释其在并行计算中的优势。如何根据任务特性调整线程池参数
28 0
|
1月前
|
人工智能 分布式计算 物联网
操作系统的演变:从单任务到多任务和多线程
在数字时代的浪潮中,操作系统作为计算机硬件与软件之间的桥梁,经历了从简单到复杂的演进过程。初始的操作系统仅能执行单一任务,随着技术的进步,它们逐渐发展为能够同时处理多个任务和线程的系统。这一变化不仅提升了计算机的效率,也极大地促进了现代计算技术的发展。本文将深入探讨操作系统的关键发展阶段,分析其对现代计算技术的影响,并展望未来可能的发展趋势。
|
1月前
|
存储 安全 Java
Java面试题:Java内存管理、多线程与并发框架:一道综合性面试题的深度解析,描述Java内存模型,并解释如何在应用中优化内存使用,阐述Java多线程的创建和管理方式,并讨论线程安全问题
Java面试题:Java内存管理、多线程与并发框架:一道综合性面试题的深度解析,描述Java内存模型,并解释如何在应用中优化内存使用,阐述Java多线程的创建和管理方式,并讨论线程安全问题
19 0
|
1月前
|
算法 安全 Java
Java面试题:解释JVM中的堆内存分代收集策略,并讨论年轻代和老年代的特点,描述Java中的线程池,并解释线程池的优点,解释Java中的`volatile`关键字的作用和使用场景
Java面试题:解释JVM中的堆内存分代收集策略,并讨论年轻代和老年代的特点,描述Java中的线程池,并解释线程池的优点,解释Java中的`volatile`关键字的作用和使用场景
29 0
|
1月前
|
存储 算法 Java
Java面试题:解释JVM的内存结构,并描述堆、栈、方法区在内存结构中的角色和作用,Java中的多线程是如何实现的,Java垃圾回收机制的基本原理,并讨论常见的垃圾回收算法
Java面试题:解释JVM的内存结构,并描述堆、栈、方法区在内存结构中的角色和作用,Java中的多线程是如何实现的,Java垃圾回收机制的基本原理,并讨论常见的垃圾回收算法
22 0
|
1月前
|
存储 算法 Java
Java面试题:详细描述Java堆内存的垃圾回收过程,解释Java中的线程池(ThreadPool)的工作原理,解释Java中的FutureTask的工作原理
Java面试题:详细描述Java堆内存的垃圾回收过程,解释Java中的线程池(ThreadPool)的工作原理,解释Java中的FutureTask的工作原理
21 0