操作系统之线程

news/2024/11/26 13:47:28/

线程

一、产生原因
最开始的并发,只能更具切换进程的方式去交替执行进程来宏观上并发,但是切换进程需要切换执行进程的环境,有很大的系统开销,所以产生了线程,让其可以不用频繁的切换进程,使得线程成为CPU执行的基本的单位

二、线程的属性
线程是处理机调度的基本单位
多CPU计算机中,各个线程可占用不同的CPU
每个线程都有一个线程ID、线程控制块(TCB)
线程也有就绪、阻塞、运行三种基本状态
线程几乎不拥有系统资源
同一进程的不同线程间共享进程的资源
由于共享内存地址空间,统一进程中的线程间通信甚至无需系统干预
同一进程中的线程切换,不会引起进程切换
不同进程中的线程切换,会引起进程切换
切换同进程内的线程,系统开销很小
切换进程,系统开销较大

三、实现方式

1、线程的分类
线程分为用户级线程(UTL)和内核级线程(KTL),用户级线程就是用户视角能看到的线程,内核级线程就是操作系统视角能看到的线程;内核级线程是处理机分配的单位;
在这里插入图片描述
在这里插入图片描述
四、多线程模型
多对一模型

n个ULT映射到1个KLT

优点:开销小,效率高

缺点:容易阻塞,并发度不高

一对一模型

n个ULT映射到n个KLT

优点:并发能力很强

缺点:占用成本高,开销大

多对多模型

n个ULT映射到m个KLT上(n>=m)

中和以上两种优缺点

五、线程的状态与转换
类似于进程的状态与转换间,这里就不描述了


http://www.ppmy.cn/news/55051.html

相关文章

[计算机图形学]高级光线传播与复杂外观建模(前瞻预习/复习回顾)

本篇不涉及技术细节* 一、高级光线传播* 1.有偏和无偏估计 无偏估计,比如我们在之前做路径追踪的时候,我们用许多样本去近似定积分的值,无论我们取的样本数量是多少,它的期望永远是对的,也就是我们真实的定积分的值&…

Python基础-字典

字典 字典中添加和修改数据的方法 []处理法 字典没有索引的概念,字典是无序的字典中的key是唯一的,key对应的值也是唯一的可以通过dict[key] value的方式修改key对应的value的值 如果key存在,则该语句作用是修改key对应的value的值如果key不存在,则该语句的作用是添加一组k…

语音处理加窗分帧

语音处理加窗分帧 一、分帧 语音数据和视频数据不同,本没有帧的概念,但是为了传输与存储,我们采集的音频数据都是一段一段 的。为了程序能够进行批量处理,会根据指定的长度(时间段或者采样数)进行分段,结构化为我们编程…

【五一创作】使用Resnet残差网络对图像进行分类(猫十二分类,模型定义、训练、保存、预测)(二)

使用Resnet残差网络对图像进行分类 (猫十二分类,模型定义、训练、保存、预测)(二) 目录 (6)、数据集划分 (7)、训练集增强 (8)、装载数据集 &#xff08…

SpringCloud源码之OpenFeign

OpenFeign 基于 OpenFeign 2.2.6.RELEASE版本进行源码阅读 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>2.2.6.RELEASE</version> </dependen…

Prometheus 监控初体验

最近由于要对Splunk 实现Prometheus 监控,下面先实践一下: 0: 先看架构图: 1: 安装: docker run -d -p 9090:9090 -v ~/docker/prometheus/:/etc/prometheus/ prom/prometheus 执行上面的 命令,发现prometheus docker 启动不起来,(原因是Mac 里的文件权限,或者是path

ConstraintLayout中Viewpager高度自适应layout_constraintTop_toBottomOf问题

布局中 <ViewPager2android:id"id/live_viewpager"android:layout_width"match_parent"android:layout_height"0dp"app:layout_constraintBottom_toBottomOf"parent"app:layout_constraintEnd_toEndOf"parent"app:layou…

肝一肝设计模式【四】-- 建造者模式

系列文章目录 肝一肝设计模式【一】-- 单例模式 传送门 肝一肝设计模式【二】-- 工厂模式 传送门 肝一肝设计模式【三】-- 原型模式 传送门 肝一肝设计模式【四】-- 建造者模式 传送门 文章目录 系列文章目录前言一、什么是建造者模式二、举个栗子三、静态内部类写法四、开源框…