进程、线程与程序之间的区别(用蛋炒饭做比喻)

本文以蛋炒饭为比喻,深入浅出地讲解了进程、线程和程序的区别。进程是资源集合,线程是执行的逻辑控制流,共享进程的地址空间。线程比进程更轻量级,创建和切换更快,适合并发执行,尤其在多CPU系统或有大量I/O操作时能提升效率。
摘要由CSDN通过智能技术生成

进程与线程是什么,它们之间又有peach区别

先来整点学术类的好活,在准备说句人话

1. 进程与线程的概念(进程是各种资源的集合,线程则是在CPU上被调度执行的实体)

吐槽一下:其实我在看《现代操作系统》这本书里面没有特别明确提出进程与线程的概念或者是定义,反而《深入理解计算系统》(这本书是讲计算机组成原理和计算机体系结构的,我好多同学都弄混了)描述的比较清晰一点。

  1. 进程(process):在构造应用级别的并发程序中,每个逻辑控制流都是一个进程,进程同时也是一个容纳了运行一个程序所需要所有信息的容器,由内核来调度和维护,与每个进程相关的是地址空间。它是操作系统调配资源的最小单位。与单纯的程序不一样,他多了一些什么地址空间啊、程序计数器等乱七八糟的东西,下面会比较详细一点。
  2. 线程(thread):线程就是运行在进程上下文中的逻辑控制流,是进程内部执行的一个分支,由内核进行调度。它是任务调动和执行的基本单位。每个线程都有它自己的线程上下文,包括一个唯一的整数线程ID(Thread ID,TID)、栈、栈指针、程序计数器、通用目的寄存器和条件码。所有的运行在一个进程里的线程共享该进程的整个虚拟地址空间。

这两段里面反复提及的内核是个很复杂的概念,内核不太准确的说法&

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值