进程和线程,多进程和多线程

进程和线程,多进程和多线程

进程和线程

(1)进程

​ 进程就是正在运行的程序,是系统进行资源分配和调用的独立单位

(2)线程

​ 在一个进程内部又可以执行多个任务,而这每一个任务我们就可以看成是一个线程。是程序使用CPU的基本单位。所以,进程是拥有资源的基本单位, 线程是CPU调度的基本单位。

(3)比较进程和线程

​ 举个例子,有两个进程,一个是Word, 一个是QQ音乐。 Word 进程打开了文件,这是它的资源,QQ音乐打开了Socket,这也是它的资源。

​ 假设Word有两个线程:T1负责接受用户的文字输入,T2 负责自动保存。

​ QQ音乐也有两个线程:T3负责从Socket中读取数据,T4负责对音乐数据进行解码。

​ 操作系统在做调度的时候,基本单位不是Word,QQ音乐这样的进程,而是T1, T2,T3,T4这些线程。
在这里插入图片描述

多进程

​ 单进程计算机只能做一件事情。而我们现在的计算机都可以一边玩游戏(游戏进程),一边听音乐(音乐进程),
​ 所以我们常见的操作系统都是多进程操作系统。比如:Windows,Mac和Linux等,能在同一个时间段内执行多个任务。
​ 对于单核计算机来讲,游戏进程和音乐进程是同时运行的吗?不是。
​ 因为CPU在某个时间点上只能做一件事情,计算机是在游戏进程和音乐进程间做着频繁切换,且切换速度很快,
​ 所以,我们感觉游戏和音乐在同时进行,其实并不是同时执行的。多进程的作用不是提高执行速度,而是提高CPU的使用率。

多线程

​ 多线程的作用不是提高执行速度,而是为了提高应用程序的使用率。
​ 那么怎么理解这个问题呢?
​ 我们程序在运行的使用,都是在抢CPU的时间片(执行权),如果是多线程的程序,那么在抢到
​ CPU的执行权的概率应该比较单线程程序抢到的概率要大.那么也就是说,CPU在多线程程序
​ 中执行的时间要比单线程多,所以就提高了程序的使用率.但是即使是多线程程序,那么他们
​ 中的哪个线程能抢占到CPU的资源呢,这个是不确定的,所以多线程具有随机性.

并发和并行

(1)概述

  1. 解释一:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。
  2. 解释二:并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。
  3. 解释三:并行是在一台处理器上“同时”处理多个任务,并发是在多台处理器上同时处理多个任务。如 hadoop 分布式集群。

所以并发编程的目标是充分的利用处理器

(2)并行

​ 指在同一时刻,有多条指

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值