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

进程/线程?并发/并行?

进程/线程并发/并行1.引子下面这张图片非常生动形象地描述了进程与线程和它们之间的关系。2.进程2.1.什么是进程系统分配资源的基本单位。进程是程序运行所需的完整环境是一个活动的实体不仅包含程序代码还包含以下内容堆栈Stack用于存储函数参数、局部变量等临时数据数据段Data Section用于存储全局变量堆Heap运行时动态分配的内存区域ps甚至可以包含文件列表、输入输出设备等。2.2.进程控制块Process Control Block进程控制块PCB是操作系统中用于描述进程状态和属性的数据结构。它包含以下信息进程状态程序计数器PCCPU寄存器状态内存管理信息调度信息2.3.进程状态进程在其生命周期中会经历多个状态转换新建New进程刚被创建就绪Ready等待 CPU 调度执行运行Running正在执行等待Waiting等待 I/O 或其他事件完成终止Terminated执行完成或被强制终止下面是更为详细的七态图挂起静止就绪进程具备运行条件但目前在二级存储器中只有当它被调换到主存才能被调度执行。挂起静止等待进程正在等待某一个事件且在二级存储器中。2.4.进程类型独立进程不与其它进程共享数据或相互影响的进程协作进程需要与其它进程共享数据或协同工作的进程但是进程之间是本来是相互独立的那么协作进程是怎么进行的这就涉及了——进程通信(IPC)。2.5.进程通信内存共享顾名思义就是多个进程共享一个内存空间。一个进程将数据写入共享的内存空间另一个进程从中读取实现通信。ps: 开辟这块共享的内存空间是需要系统调用的但接下来操作内存无需系统调用。消息传递类似邮箱(端口)可以设立消息缓冲区处于操作系统空间需要提供系统调用 ( send(), receive() ) 来发送和接收信息。在这种模式下进程通过操作系统传递消息进行通信直接通信进程直接指定发送或接收方例如send(B, message) 表示 A 向 B 发送消息间接通信通过邮箱mailbox传递消息例如send(X, message) 表示发送到邮箱 X同步机制发送或接收时可选择阻塞或非阻塞模式缓冲机制消息可暂存于队列中队列容量可为 0无缓冲、有限或无限管道、套接字和远程过程调用等都是属于消息传递。监听端口保持开放接收所有进程的消息。3.线程3.1.什么是线程CPU调度和执行的基本单位。线程本身不包含代码通过程序计数器指向特定代码段(打破一个进程拥有单一PC的限制)同时每个线程拥有自己的栈空间从而可以并发处理特定代码段。一个进程可以有多个线程而且同一进程中的线程共享资源调度所需的成本远小于进程。3.2.线程的实现方式内核级线程Kernel-level Thread由操作系统直接管理调度开销大但支持真正的并发。用户级线程User-level Thread由线程库在用户空间管理创建和切换快但无法利用多核CPU。混合线程Hybrid Thread结合上述两种方式如 Java 的线程模型就是基于操作系统线程实现的。4.并发与并行并发通过快速切换上下文或者是CPU调度以达到同一时刻处理多个任务的假象并行真正同时执行多个任务通过多核CPU。上下文就是进程所处环境的状态包括PC、CPU寄存器的数据、主存的内容。中断触发时CPU硬件会自动做1.切换到内核栈;2.把PC等数据压入栈;3.跳转到中断处理程序。数据并行数据分配到多个核心同时执行相同操作。比如在对一个数组判断其中质数的个数时将数组分为多组同时进行判断计数。任务并行数据可以相同也可以不同同时执行不同操作。比如对一个数组同时执行max, min, avg操作也可以是对两个数组一个执行max另一个执行min。
http://www.gsyq.cn/news/1380318.html

相关文章:

  • FADS基因与Omega-3精准营养:基于VITAL试验的因果推断分析
  • 终极高效音乐歌词提取方案:跨平台批量下载与格式转换全解析
  • 最近发现一个神奇网站!用50行代码实现微信自动回复机器人
  • 终极网页保存解决方案:一键离线完整网页
  • 公共卫生机器学习项目中的算法公平性实践:ACAR框架详解
  • 第 2 期:广告视觉提效:FastAPI+LangChain 对接豆包图片模型(附完整代码)
  • SafeExamBrowser安全绕过实战:虚拟机检测绕过与日志伪装技术架构深度解析
  • 技术证书到底有没有用?我考了五个证书后的真实感受
  • 2026 AI Agent十大趋势:从“听话的执行者“到“自主的思考者“
  • 2026年4月喷淋塔公司推荐,RTO/水处理设备/污水一体化设备/活性炭箱/生物虑床/冷却塔,喷淋塔公司哪家好有哪些 - 品牌推荐师
  • 在此立一个flag
  • 2026年苹果手机照片去背景详细教程:4大方法手把手教你快速抠图
  • 5分钟掌握m4s-converter:将B站缓存视频无损转换为MP4的终极指南
  • 论文写作不再头秃!paperxie 毕业论文 AI 功能,助你高效通关毕业季
  • 3天从零到精通:用microeco轻松搞定微生物组学数据分析的完整指南
  • Redis在线工具终极指南:3分钟学会数据库操作,无需安装配置
  • 印媒集体破防:中国38个月建完的火车站,印度修50公里高铁要花10年
  • 基于ATTINY24的功放智能软启动系统设计与实现
  • OpenVSP飞机设计工具:从零开始掌握参数化建模的完整指南
  • Ansys中国区授权伙伴 - 品牌2025
  • 你的CI流水线还在忽略圈复杂度?DeepSeek 2.3.0强制拦截策略上线倒计时:最后72小时适配指南
  • 【独家首发】国内23家AI语音服务商最新报价数据库(含教育/医疗/金融行业专属折扣码及最小起订量红线)
  • DeepSeek模型选型终极指南(附完整Benchmark Excel模板):从MMLU到GPQA、从AIME到LiveCodeBench,一表看透真实能力边界
  • 企业级Veo 2提示词治理框架(含合规校验/版本回溯/效果归因三模块)——仅限首批500名开发者开放》
  • 你的差异基因结果可靠吗?用R包MetaVolcanoR做个Meta分析来验证和增强发现
  • ThingLinks-IoT:一站式物联网平台解决方案
  • 2026年成都电缆桥架与抗震支架采购指南:模块化预制如何降低工程成本30%-50% - 优质企业观察收录
  • 022、FFT加速卷积:何时使用?何时不用?
  • AI-eSIM 开启智联新入口,量讯物联助力企业把握万物智联新机遇
  • BepInEx深度解析:Unity游戏插件框架架构设计与实战应用