多进程(Multiprocessing)

本文介绍了Python的多进程(Multiprocessing)概念,包括多进程的定义、优点,以及如何创建和管理进程。通过实例展示了使用Queue储存进程输出、比较多进程与多线程的效率,并介绍了进程池pool和共享内存的概念。还提到了进程锁在避免数据竞争问题中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多进程(Multiprocessing) 源自莫烦python多进程教学

一、多进程的定义和优点
多进程相当于多核处理,它能弥补threading的缺点 即它可以把任务平均分配给每一个核,并且让它们同时进行。
二、添加进程
添加进程和join功能都与threading一样
在这里插入图片描述
三、储存进程输出Queue
多进程中也不可以用return来返回,所以我们同样要先把他存到Q里面再输出
先定义一个函数job,并把这个函数通过多线程进行计算,把结果放到q里面,再用res来打开q,最后输出res
在这里插入图片描述
输出
在这里插入图片描述
四、比较多进程、多线程和什么都不用的速度
结果肯定是多进程最快,另外两个就没准了
在这里插入图片描述
在这里插入图片描述
由输出可知 normal用时:1.7
多线程用时:1.17
多进程用时:1.04
所以可以看出多线程最短
五、 进程池pool
进程池就是你把所有的要运行的东西放到一个池子里面去,python会帮你自动分配各个步骤,并且在pool里面我们可以得到返回值(return)
具体的操作都在图片里面
在这里插入图片描述
输出
在这里插入图片描述
六、共享内存 shared memory
举个例子,一个CPU上有4个核,这四个核不能共享(比如说:第一个cpu给这个a加了2,再给下一个CPU进行操作是不可以的),所以要用到shared memory
我先放个CPU的图
在这里插入图片描述

在这里插入图片描述
七、lock 进程锁
假如没用lock在这里插入图片描述
输出
在这里插入图片描述

不用lock,输出的结果就比较麻烦,所以我们用进程锁,加进程锁的方法跟多线程的方法一样
在这里插入图片描述
再输出
在这里插入图片描述
由于多线程和多进程一样,所以本课笔记比较简单

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值