python多进程_Python多任务处理(多进程篇)
![](/assets/blank.gif)
Python多任务处理(多进程篇)
项目地址:
https://github.com/tushushu/flying-pythongithub.com
多进程处理CPU密集型任务
CPU密集型任务的特点是要进行大量的计算,消耗CPU资源,比如计算圆周率、对视频进行高清解码等等,全靠CPU的运算能力。一个线程执行CPU密集型任务的时候,CPU处于忙碌状态,运行1000个字节码之后GIL会被释放给其他线程,加上切换线程的时间有可能会比串行代码更慢。在Python多任务处理(多线程篇),我们试图用多线程执行CPU密集型任务,然而并没有性能上的提升。现在我们试一下用多进程来处理CPU密集型任务。
1. 建立进程池
from
2. 定义一个CPU密集型函数
该函数会对[1, x]之间的整数进行求和。
def
3. 使用串行的方式处理
遍历一个列表的所有元素,执行func函数。
def
4. 使用多进程处理
通过线程池的map方法,可以将同一个函数作用在列表中的所有元素上。
def
5. 计算函数运行时间
- 串行版本的运行时间5.7秒
- 多进程版本的运行时间1.6秒
def
Finish sum from 1 to 10000000!
Finish sum from 1 to 10000000!
Finish sum from 1 to 10000000!
Finish sum from 1 to 10000000!
Finish sum from 1 to 10000000!
Finish sum from 1 to 10000000!
Finish sum from 1 to 10000000!
Finish sum from 1 to 10000000!
process_array版本的运行时间为 5.74394 秒!
time_it(fast_process_array, [10**7 for _ in range(8)])
fast_process_array版本的运行时间为 1.62266 秒!
python多进程_Python多任务处理(多进程篇)相关推荐
- python 命令行运行 多进程_Python初学——多进程Multiprocessing
1.1 什么是 Multiprocessing 多线程在同一时间只能处理一个任务. 可把任务平均分配给每个核,而每个核具有自己的运算空间. 1.2 添加进程 Process 与线程类似,如下所示,但是 ...
- python socket通信 多进程_python实现多进程通信实例分析
操作系统会为每一个创建的进程分配一个独立的地址空间,不同进程的地址空间是完全隔离的,因此如果不加其他的措施,他们完全感觉不到彼此的存在.那么进程之间怎么进行通信?他们之间的关联是怎样的?实现原理是什么 ...
- python如何实现多进程_Python实现多进程的四种方式
方式一: os.fork() # -*- coding:utf-8 -*- """ pid=os.fork() 1.只用在Unix系统中有效,Windows系统中无效 2 ...
- 简述python爬虫_python爬虫入门篇了解
1. 爬虫分类: 1.1 通用爬虫:例如搜索引擎:无差别的收集数据:提取存储关键字:构建索引库:给用户提供搜索接口. 1.2 聚焦爬虫:有针对性的编写特定领域数据的爬取程序. 2. Robots协议: ...
- 为什么金融分析需要应用python语言_python入门第一篇:python语言简介
四.Python发展史 1989年,Guido开始写Python语言的编译器. 1991年,第一个Python编译器诞生.它是用C语言实现的,并能够调用C语言的库文件.从一出生,Python已经具有了 ...
- python多进程怎么样_Python执行多进程任务的方法
Python的多进程可以借助from multiprocessing import Pool来实现. 简而言之分为这样几步: 导入包from multiprocessing import Pool 编 ...
- 关于python的多线程和多进程_Python的多线程和多进程
(1)多线程的产生并不是因为发明了多核CPU甚至现在有多个CPU+多核的硬件,也不是因为多线程CPU运行效率比单线程高.单从CPU的运行效率上考虑,单任务进程及单线程效率是最高的,因为CPU没有任何进 ...
- 【Python成长之路】python并发学习:多进程与多线程的用法及场景介绍
刚开始学习Python 并发查询或者并发读写时,看到大神们说,多线程是python的鸡肋,要学就学多进程.好吧,我连多线程怎么写都不知道呢. 因此,就写了以下的示例代码.代码目的是将test.txt文 ...
- Python多线程threading和多进程multiprocessing的区别及代码实现
1. 多线程threading import time from threading import Threaddef thread_read(data):while True:print('read ...
最新文章
- Web Farm Web Garden
- python语言怎么用-Python语言应用解析,如何入门学Python?
- linux断电关机后,进度条满后卡在那里
- 计算机视觉领域最全汇总(第2部分)
- ZooKeeper概述与原理
- js验证开始日期不能大于结束日期_js前台判断开始时间是否小于结束时间
- 技术人生——解决问题的规律
- 我们应该如何选择DR
- nginx -- 负载均衡
- ubuntu 安装mysql 5.5.28 编译安装 innodb 配置
- 复杂网络分析 02 复杂网络分析中的基本概念学习笔记
- 2022年Python最新面试题汇总及答案
- linux查看其他用户计划任务,Linux计划任务(crond、atd)
- 标题: Excel地址 Excel单元格的地址表示很有趣,它使用字母来表示列号。 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列
- 布局改变时的过场动画
- Scratch软件编程等级考试一级——20210320
- android 自定义indicator,Android实现自定义Indicator的导航控件
- python汽车类_用Python代码实现汽车类,类用,python
- 被高通裁员两次,清华毕业华裔工程师跳楼身亡!中年IT男,为何这么难?
- wps指定路径不存在怎么办_wps指定路径不存在怎么办_十万人都不知道键盘上 F1~F12 的作用,你肯定想不到......