Python多进程的相关概念

1 进程的概念

进程是指一个正在执行任务的过程,而负责执行任务的则是cpu。

2 进程与程序

程序只是程序员写的代码,而进程则是指程序的运行过程

3 并发、并行和串行

并发;你现在有做作业的任务,打游戏的任务,看电视剧的任务。但你同时只能做一件事情(cpu同一时间只能执行一个任务)。那如何才能产生并发的效果了?可以先做一会作业,再看一会电视剧,在打一会游戏,然后又做一会作业,再看一会电视剧。这样看起来就好像你同时在干多件事情。现在cpu有5个任务要执行,cpu同一时间只能执行一个任务。由于cpu的速度非常快,1秒内可以在5个任务之间来回切换,每个任务执行几十毫秒。这样给人看起来cpu就好像在同时执行5个任务。即伪并行,即看起来是同时运行。单个cpu+多道技术就可以实现并发

并行:假如现在你家要进行大扫除,需要擦桌子,拖地,倒垃圾这些任务。你负责倒垃圾,你爸负责拖地,你妈负责擦桌子。这样,三个任务就可以同时执行,节省时间。这就是并行
只有具备多个cpu才能实现并行。单核下,可以利用多道技术,多个核,每个核也都可以利用多道技术。现在电脑一般都有四个核(可以通过os.cpu_count()查看电脑是几核),现在有五个任务,但同一时间只有四个任务被执行,假设分别被分配给了cpu1,cpu2,cpu3,cpu4,一旦任务1遇到I/O就被迫中断执行,此时任务5就拿到cpu1的时间片去执行,这就是单核下的多道技术。而一旦任务1的I/O结束了,操作系统会重新调用它(需知进程的调度、分配给哪个cpu运行,由操作系统说了算),可能被分 配给四个cpu中的任意一个去执行。

串行:你现在有做作业的任务,打游戏的任务,看电视剧的任务。你爸妈就会要求你先做完作业,然后打2把游戏,最后在看电视。像这样,把一个任务执行玩了,再执行下一个任务就是串行。

4 同步、异步、阻塞与非阻塞

转载地址:https://www.jianshu.com/p/aed6067eeac9

5 进程实现并发的原理

并发的实现在于不停的在不同的任务之间切换,所有当切换走的时候,就需要将当前进程的信息保存下来,等切换回来的时候继续执行。为此,操作系统维护了一张进程表,这张表存放了进程相关的重要信息。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值