操作系统【OS】线程的分类

  • 线程的实现分为两类 = 用户级线程(User-Level Thread, ULT) + 内核级线程(Kernel-Level Thread, KLT)

|----|-----------------------------------------------------------------------------------------------|----------------------------------------------------------|-----------|
| | ULT | KLT | 组合模式 |
| 定义 | 由用户级线程库函数来完成整个线程的管理和调度【库函数负责】 | 线程对应的TCB放在OS里,线程的管理和调度由OS负责【OS负责】 | 内核支持的用户线程 |
| 模型 | **++多对一++**模型(多个用户对应一个线程) | **++一对一++**模型(一个用户对应一个线程) | 多对多模型 |
| 优点 | * TCB由用户级线程库函数维护,可用于不支持线程技术的OS * 无需用户态和内核态的切换,速度特别快 | * 某个内核线程发起系统调用被阻塞,不会影响到其他内核线程的运行 * 内核能同时调度同一进程中的多个线程并行执行 | |
| 缺点 | * 一个线程发起了系统调用而阻塞,那进程所包含的用户线程都不能执行了 * 在多线程执行时,每个线程得到的时间片少,执行慢 * 📢线程与线程之间不用内核切换,但是跨进程的话就需要内核参与 | * 同一进程的线程切换,需要从用户态转到核心态,系统开销大 | |

相关推荐
望获linux18 小时前
【实时Linux实战系列】实时系统的调试技术
linux·运维·服务器·网络·数据库·操作系统·嵌入式软件
DoraBigHead19 小时前
进程的内存是怎么分的?深入解析内存管理的秘密工事
操作系统
望获linux19 小时前
【Linux基础知识系列】第五十四篇 - 网络协议基础:TCP/IP
java·linux·服务器·开发语言·架构·操作系统·嵌入式软件
今天背单词了吗98021 小时前
算法学习笔记:25.回溯算法之迷宫寻路——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·学习·考研·算法·回溯算法
、BeYourself1 天前
死锁的避免
操作系统
CYRUS_STUDIO2 天前
深入 Android syscall 实现:内联汇编系统调用 + NDK 汇编构建
android·操作系统·汇编语言
LUCIAZZZ3 天前
高性能网络模式-Reactor和Preactor
java·服务器·开发语言·网络·操作系统·计算机系统
喧星Aries3 天前
内存的基础相关知识,什么是内存,内存管理
操作系统·内存·计算机组成原理
DoraBigHead3 天前
进程之间怎么聊天?信号、管道、共享内存、Socket 大乱斗!
操作系统
今天背单词了吗9803 天前
算法学习笔记:23.贪心算法之活动选择问题 ——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·考研·算法·贪心算法·活动选择问题