python并行化介绍及使用

本篇将要介绍python的并行化,及简单的应用。

主要介绍map函数的使用,一手包办了序列操作、参数传递和结果保存等一系列的操作。

首先是引入库:

from multiprocessing.dummy import Pool

pool=Pool(4)

results=pool.map(爬取函数,网址列表)

本文将一个简单的例子来看一下如何使用map函数以及这种方法与普通方法的对比情况。

import time
from multiprocessing.dummy import Pool

def getsource(url):
    html=requests.get(url)

urls=[]
for i in range(1,21):
    newpage=‘http://tieba.baidu.com/p/3522395718?pn=‘+str(i)
    urls.append(newpage)

timex=time.time()  #测试一
for i in urls:
    getsource(i)
print (time.time()-timex)

#这里是输出的结果:
#10.2820000648 

time1=time.time()  #测试二
pool=Pool(4)
results=pool.map(getsource,urls)
pool.close()
pool.join()
print (time.time()-time1)

#这里是输出结果:
#3.23600006104

对比以上两种方法,可以很明显地看出 测试二比测试一要快很多。

对程序做一下解释:

测试一种

for i in urls:

getsource(i) #使程序一直遍历urls列表中的网址,然后循环调用getsource函数

测试二中:

pool=Pool(4) #声明了4个线程数量,这里的个数根据你电脑的CPU个数来定。

results=pool.map(getsource,urls) #这里使用map函数,并且函数的参数为自定义函数名称,以及函数中的参数(这里为一个列表)

pool.close() #关闭pool对象

pool.join() #join函数的主要作用是等待所有的线程(4个)都执行结束后

print (time.time()-time1) #输出所用时间差

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-16 11:37:08

python并行化介绍及使用的相关文章

【美妙的Python之中的一个】Python简单介绍及环境搭建

美妙的Python之Python简单介绍及安装         简而言之: Python 是能你无限惊喜的语言,与众不同.             1.Python:          Python英文意思为蟒蛇,故又称为蟒蛇语言,在图标设计上有所体现,贵铎·范·罗萨姆(Guido van Rossum)于1989年创立.Python的特质,简单,优雅,健壮,继承传统编程语言的强大性与通用性,同一时候兼具简单脚本的简单性.         Python的哲学:仅仅用一种方法,最好是仅仅有一种方法

python - day01 介绍

01. python - 介绍 python - 简单介绍:  dsadasdasdashttps://www.python.org/ftp/python/

python 模块介绍 - Base16, Base32, Base64 数据编码

简介 功能:RFC 3548: Base16, Base32, Base64 数据编码.转换二进制数据为适合明文协议传输的 ASCII 序列.转换8bits 为每个字节包含 6,5 或 4bits 的有效数据,比如 SMTP, URL 的一部分或者 HTTP POST 的一部分.参考:RFC 3548.编码算法不同于 uuencode.类型:标准库相关模块:uu, binhex, uu, quopri Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法.由于 2 的 6 次方

笔记1:Python简单介绍

Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程.Python已经成为最受欢迎的程序设计语言之一.2011年1月,它被TIOBE编程语言排行榜评为2010年度语言.Python语法简洁而清晰,具有丰富和强大的类库,常被称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起. 人们为什么使用Python? 提高开发者效率 提高软件质量 程序的可移植性 内置

Python排序介绍

Python排序介绍 本文简单记录了Python中的内建函数 sort() 和 sorted() 的使用方法,以及它们在 Python2 和 Python3 中的区别. 概述 内建函数 sort() 和 sorted() 都可以对一个List进行排序,它们的区别是,sort 对 List 本身进行排序(sorts the list in place),没有返回,而 sorted 会返回经过排序后的 list.两者的参数一样,所进行的排序都是稳定的. >>> l = [2, 4, 6, 1

day02-计算机操作系统及python基础介绍

计算机操作系统及python基础介绍 1.什么是操作系统? 操作系统是介于计算机硬件与应用程序之间 是协调,控制,管理计算机硬件资源与软件资源的控制程序 2.为何要有操作系统? 1.控制硬件 2.把对硬件复杂的操作封装成优美简单的接口(文件),供用户或者应用程序去使用 3.一套完成的计算机系统包括哪些? 应用程序 操作系统 计算机硬件 注:我们以后开发的都是应用程序-应用程序无法直接操作硬件,但凡要操作硬件,都是调用操作系统的接口 4.机器语言:直接用二进制操作硬件, 优点:运行速度快 缺点:开

Python 爬虫介绍

1.Python 爬虫介绍 一.什么是爬虫 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Python爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.URL管理器.网页下载器.网页解析器.应用程序(爬取的有价值数据). 调度器:相当于一台电脑的CPU,主要负责调度URL管理器.下载器.解析器之间的协调工作. URL管理器:包括待爬取的URL地址和已爬取的URL地址,防止重复抓取URL和循环抓取URL,实现URL管理器主要用三种方式,通过内存.数据

python celery介绍和基本使用

08 python celery介绍和基本使用 celery分布式任务队列 RPC远程,当执行一条命令,等待远程执行结果返回客户端. 在Linux上可以在后台执行,不影响其他任务执行.(涉及到异步) 1.分布式任务运算celery 参考:https://www.cnblogs.com/alex3714/p/6351797.html 任务计划:https://www.cnblogs.com/peida/archive/2013/01/08/2850483.html Crontab操作系统本身任务计

使用 MPI for Python 并行化遗传算法

前言 本文中作者使用MPI的Python接口mpi4py来将自己的遗传算法框架GAFT进行多进程并行加速.并对加速效果进行了简单测试. 项目链接: GitHub: https://github.com/PytLab/gaft PyPI: https://pypi.python.org/pypi/gaft 正文 我们在用遗传算法优化目标函数的时候,函数通常都是高维函数,其导数一般比较难求取.这样我们的适应度函数计算通常都是比较费时的计算. 例如在使用遗传算法寻找最优结构时候通常需要调用量化软件进行