当前位置: 首页 > wzjs >正文

wordpress 删除自豪的石家庄网站seo外包

wordpress 删除自豪的,石家庄网站seo外包,县区社保经办网站建设,有哪些专业做饰品的网站app📝前言: 这篇文章我们来讲讲Linux——线程概念: 线程的基本概念线程的优缺点线程与进程 🎬个人简介:努力学习ing 📋个人专栏:Linux 🎀CSDN主页 愚润求学 🌄其他专栏&am…

📝前言:

这篇文章我们来讲讲Linux——线程概念

  1. 线程的基本概念
  2. 线程的优缺点
  3. 线程与进程

🎬个人简介:努力学习ing
📋个人专栏:Linux
🎀CSDN主页 愚润求学
🌄其他专栏:C++学习笔记,C语言入门基础,python入门基础,C++刷题专栏


这里写目录标题

  • 📝前言:
  • 一,线程的基本概念
    • 1. 基本概念
    • 2. 资源划分
    • 3. 线程资源划分与共享
  • 二,线程的优缺点
    • 1. 优点
    • 2. 缺点
    • 3. 线程的异常
    • 4. 线程的用途
  • 三,线程与进程
    • 1. 进程和线程
    • 2. 进程的多个线程共享

一,线程的基本概念

1. 基本概念

  • 进程:进程 == 内核数据结构 + 代码和数据
    • 进程是承担分配系统资源的基本实体
  • 线程:进程内部的一个执行分支
    • 在Linux下,线程就是轻量级的进程(但Windows不是,Windows有自己的实现方案)
    • 线程是CPU调度的基本单位(因为Linux下,线程是用进程模拟的,所以CPU的调度策略都可以用进程那一套!)
    • 线程这个说法是操作系统提供的(属于用户视角,但是对于Linux底层,线程就是轻量级进程)

2. 资源划分

  • 创建一个进程:我们要创建task_struct进程地址空间页表
  • 但是对于一个线程,我们只需要创建task_struct + 资源划分
    • 对资源的划分,本质是对进程地址空间的划分(虚拟地址,就是资源的代表)
    • 一个执行流有多少资源,本质上就是:在合法的的情况下,拥有的虚拟地址
    • 而函数天然就是代码和数据的集合,所以我们通常让线程执行进程中不同的函数(把函数分给线程,就完成了资源的划分)
  • 多个线程的task_struct指向同一个进程的进程地址空间

在这里插入图片描述

  • 进程强调独占,部分资源共享(比如通信的时候)
  • 线程强调共享(因为线程都在同一个进程内),部分资源独占
  • 资源的划分和共享本质是对虚拟地址的划分和共享

3. 线程资源划分与共享

  • 线程进行资源划分:本质是划分地址空间,获得一定范围的合法虚拟地址。再本质:就是在划分页表
  • 线程进行资源共享:本质是对地址空间的共享,再本质:就是对页表条目的共享

二,线程的优缺点

以下优缺点是相较于进程的。

1. 优点

  • 创建⼀个新线程的代价要比创建⼀个新进程小得多
  • 切换方面,线程切换的代价也要更小
    • 切进程:要切硬件上下文,要切CR3的页目录…
    • 切线程:地址空间还是一样的,只用切task_struct,CR3也不用切…
    • 还有:进程缓存机制CacheTLB
    • 当硬件上下文切换的时候会扰乱进程的缓存机制,对于进程,因为直接换了,所以CacheTLB的内容都无效了。但是对于线程,还在同一个进程内,CacheTLB的失效面积小。
  • 线程占用的资源要比进程少很
  • 能充分利用多处理器的可并行数量
  • 在等待慢速I/O操作结束的同时,程序可执行其他的计算任务
  • 计算密集型应用,为了能在多处理器系统上运⾏,将计算分解到多个线程中实现
  • I/O密集型应⽤,为了提⾼性能,将I/O操作重叠。线程可以同时等待不同的I/O操作

2. 缺点

但是代码写的好,处理的好,都没有下面的问题

  • 性能损失
    • 当线程用于计算密集型,则线程数量不要大于CPU的数量。因为,计算密集型的线程往往没办法和其他线程共用CPU。如果太多线程,增加了额外的同步和调度开销(比如切线程上)
  • 健壮性降低
    • 不小心给一个线程共享了不属于它的东西,然后还被修改了,就会有问题
    • 线程如果有错(异常),会直接影响整个进程
  • 缺乏访问控制
    • 进程是访问控制的基本粒度,在⼀个线程中调⽤某些OS函数会对整个进程造成影响
  • 代码编写更难

3. 线程的异常

  • 单个线程崩溃,导致整个进程崩溃,其他线程也退出

4. 线程的用途

  • 提高CPU密集型程序的执行效率
  • 提高IO密集型程序的用户体验

三,线程与进程

1. 进程和线程

  • 进程是资源分配的基本单位
  • 线程是调度的基本单位
  • 线程共享进程数据,但也拥有⾃⼰的⼀部分数据:
  • 线程ID
  • ⼀组寄存器,存放线程上下文数据
  • 独立的栈结构
  • errno
  • 信号屏蔽字
  • 调度优先级

2. 进程的多个线程共享

同⼀地址空间,因此Text Segment、Data Segment都是共享的,如果定义⼀个函数,在各线程中都可以调用,如果定义⼀个全局变量,在各线程中都可以访问到。

除此之外,各线程还共享以下进程资源和环境:

  • 文件描述符表
  • 每种信号的处理方式(SIG_ IGN、SIG_ DFL或者自定义的信号处理函数)
  • 当前工作目录
  • 用户id和组id

线程和进程的关系:
在这里插入图片描述


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

http://www.dtcms.com/wzjs/373113.html

相关文章:

  • 科技网站设计公司三只松鼠有趣的软文
  • 网站建设合同书缴纳印花税吗网络营销与直播电商专业介绍
  • 长沙网站建设推广网站优化推广seo
  • php综合网站源码阿里指数数据分析平台
  • 百度抓取不到网站怎么才能建立一个网站卖东西
  • 晋江做网站的公司外贸网络推广怎么做
  • wordpress怎么设置标签分类阿拉善盟seo
  • 天津建设工程信息网报名宁波seo关键词优化方法
  • 网站设配色宁德市医院东侨院区
  • 网站建设开发的主要流程谷歌搜索引擎入口手机版
  • 泸州 网站建设百度指数分析工具
  • 广州市番禺人才网百度seo快速排名优化软件
  • 广汉做网站扫描图片找原图
  • 麻花星空影视传媒制作公司网站合肥网络优化公司有几家
  • 用服务器ip可以做网站吗佛山网页搜索排名提升
  • 南京凯盛建设集团官方网站网站买卖交易平台
  • 广州网站建设中心网络广告营销的特点
  • 重庆江津做网站站长工具免费
  • 做食品网站的素材做神马seo快速排名软件
  • 南山网站建设公司百度系app
  • 重庆企业网站建设哪家专业宁波谷歌seo推广
  • 深圳微信网站建设报价宁波seo整站优化软件
  • 网站正在建设页面模板百度竞价排名规则及费用
  • 中国网站为什么要备案b站大全永不收费2023入口在哪
  • 建筑设计方案汇报ppt二十条优化措施原文
  • 深圳网站建设公司多吗seo关键词排名优化app
  • tp5企业网站开发全网搜索引擎优化
  • wordpress知言破解宁波seo推广推荐公司
  • 松江品划做网站百度网址大全 官网首页
  • 人工客服平台淘宝优化