python多进程_python多进程

news/2024/7/7 20:20:11

e3c2fb0f58b480a22db3d2501d611aab.png

上一期我们讲了python中多线程的使用,忘记的小伙伴请戳链接复习,https://zhuanlan.zhihu.com/p/262638052。

还记得我们说到,多线程并不是真正的并发,只是充分利用了等待时间,所以当遇到CPU密集型的任务时,多线程就力不从心了,这时候要请出本文的主角多进程。

多进程的使用方法和上一期多线程极为相似,实际上在multiprocessing库中多线程只是在多进程的基础上多封装了一层,话不多说,直接上代码。

# 定义一个CPU密集的计算任务,重复做50万次运算

看看打印的输出结果,在单进程模式下,每次都在同一个进程ID下运行,耗时21秒

Run task 0, pid 3820

Task 0 finished, cost 3.78 seconds.

Run task 1, pid 3820

Task 1 finished, cost 3.55 seconds.

Run task 2, pid 3820

Task 2 finished, cost 3.53 seconds.

Run task 3, pid 3820

Task 3 finished, cost 3.58 seconds.

Run task 4, pid 3820

Task 4 finished, cost 3.42 seconds.

Run task 5, pid 3820

Task 5 finished, cost 3.53 seconds.

Normal: 21.383224725723267

在多进程模式下,由于我们在程序中设置了开启4个进程,可以看到6个计算任务在最开始只同时开始了4个,并且是位于不同的进程ID下,只有当某个任务运行结束,才会补上下一个任务,最多不超过4个。在多进程模式下,总耗时9s。值得注意的是,多进程是极为消耗计算机资源的,读者可以尝试在运行时,检查计算机的CPU利用率,会发现有了几倍的飙升,因此使用多进程模式一定要结合实际情况量力而行。

Run task 0, pid 12240

Run task 1, pid 16864

Run task 2, pid 15436

Run task 3, pid 17808

Task 3 finished, cost 4.61 seconds.

Run task 4, pid 17808

Task 1 finished, cost 4.66 seconds.

Run task 5, pid 16864

Task 2 finished, cost 4.74 seconds.

Task 0 finished, cost 4.79 seconds.

Task 4 finished, cost 4.04 seconds.

Task 5 finished, cost 4.06 seconds.

Pool: 9.227919340133667

由于有了上一期的基础,本文快速地综述了python中多进程最基础的部分,能力有效,如有谬误请不吝指出。


http://lihuaxi.xjx100.cn/news/278437.html

相关文章

图像自标记的可视化指南

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达导读将聚类和表示学习结合在一起,可以同时学习特征和标签。在过去的一年中,人们提出了几种图像表示的自监督学习方法。这种方法最近的趋势是使用对…

微服务划分的姿势

点击上方“方志朋”,选择“设为星标”回复”666“获取新整理的面试资料来源:http://t.cn/AiYeeMD7我们知道微服务是一种理念,没有确切的定义和边界,好比设计原则,是属于抽象的概念。在定义不明确的情况下谈划分也是一种…

JS---设计简易日历

<!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title></title><script>/*var tdnew Date(2017,9,11);alert(td);*/// var tdnew Date();// alert(td.getTime());//设计一个定时器---例如&#…

XSD 仅含元素概述

"仅含元素"的复合类型元素是只能包含其他元素的元素。复合类型仅包含元素 XML 元素&#xff0c;"person"&#xff0c;仅包含其他的元素&#xff1a; <person> <firstname>John</firstname> <lastname>Smith</lastname> &l…

你当年没玩好的《愤怒的小鸟》,AI现在也犯难了

&#xff08;图片源自百度百科&#xff09;作者 | Ekaterina Nikonova&#xff0c;Jakub Gemrot译者 | Tianyu出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;现在说起《愤怒的小鸟》游戏&#xff0c;要把人的回忆一下拉扯到差不多十年前了。它是一款当时一经推出就广…

理工男,我感觉 win10 挺好用的,一点不卡,为什么有那么多人买Macbook 呢?

链接&#xff1a;https://www.zhihu.com/question/402888936编辑&#xff1a;深度学习与计算机视觉声明&#xff1a;仅做学术分享&#xff0c;侵删这个问题主要就是想问问各位Macbook吸引你的点在哪里&#xff1f;不要上来就先批判一顿哟&#xff0c;也不要说什么实践出真知。对…

FPGA学习手记(二) 简单功能仿真及Verilog基础电路设计

FPGA学习手记&#xff08;二&#xff09;简单功能仿真及Verilog基础电路设计 看了某兄的一篇文章&#xff0c;讲到学FPGA切不可急功近利&#xff0c;大概是受到STM32的C语言库快速入门的影响&#xff0c;在学习FPGA时&#xff0c;给自己制定了学习方针如是&#xff1a;掌握FPGA…

XSD 仅含文本概述

仅含文本的复合元素可包含文本和属性。仅含文本的复合元素 此类型仅包含简易的内容&#xff08;文本和属性&#xff09;&#xff0c;因此我们要向此内容添加 simpleContent 元素。当使用简易内容时&#xff0c;我们就必须在 simpleContent 元素内定义扩展或限定&#xff0c;就…