CPU,进程,线程间的执行关系

名词解释(个人理解)

CPU

计算机的中央处理器,一般为多核(即:多个同样功能的设备)。认同一个事实:单核CPU,在某个特定的时间点(微观时间上),只能处理一个线程。

进程

程序关于某个数据集合上的一次运行活动,是一个过程的定义。也就是说程序运行时(进程),系统就会分配给他独立的资源(CPU和内存),所以说:系统进行资源分配和调度的独立单位。

线程

线程是进程的的一个实体,也就是说具体执行程序的劳动者,它是比程序更小的能独立运行的基本单位,因为执行的时候,需要调动CPU来完成。所以说:是CPU调度分配的基本单位。

并发和并行
  1. 并行:是这某个时间点上,处理多个事情。在单核的CPU上,一个核只能在特定的时间点上处理一个线程,但是多核的CPU就使得在特定的时间点上处理多个线程。那么问题来了,4核同时只能运行4个程序,而且只能是单线程?显然不对。你可以打开你电脑的资源管理器,可以看到很多进程,而且每个进程大多是多线程的。那这是为什么呢?那得先理解一个词“并发”。
  2. 并发:是指在某个微小的时间段内,处理多个事情(注意我的措辞,“时间段”)。具体意思就是,单核CPU在一个时间段内,先处理完了A线程,马上切换到B线程并且处理它,处理完B线程马上切换到C线程并且处理它…由于切换时间很快,所以基本上可以看做是同时处理,就像是光,当他频率到达一定的高度时,你肉眼根本分不清楚它快速的闪烁。

CPU执行程序的过程

在这里插入图片描述
上图是简要的画出了CPU执行程序的过程。程序执行时,就会产生一个进程,并且分配到一个CPU和独立的地址空间。CPU开始处理这个进程,这个进程里面的每一个线程进入主动去寻找CPU处理的阶段,这个阶段是可以跨CPU跨核的,处理完成,线程把数据交给其所在的进程。正是由于CPU能够快速的切换到不同进程的线程去处理它(并发的处理多个线程),使得计算机在同一时间可以运行多个程序,你也就会看到很多进程。以上就是我对三者关系的理解。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值