700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 多线程比串行进程多出的优势在哪里

多线程比串行进程多出的优势在哪里

时间:2020-04-23 16:06:51

相关推荐

多线程比串行进程多出的优势在哪里

当数据的爬虫量越来越大的时候,除了要考虑存储的方式外,还需要考虑爬虫的速度问题。前面的爬虫都是串行爬取,只有当一次爬取完之后才进行下一次爬取,这样极大的限制了爬取的速度和效率。本文主要讲解多线程和多进程的概念,并通过案例对串行爬虫和多进程爬虫的性能进行对比。

多线程和多进程概述

当计算机运行程序时,就会创建包含代码和状态得进程。这些进程会通过计算机的一个和多个CPU执行。不过,同一时刻每个CPU只会执行一个进程,然后再不同进程间快速切换,这样就给人以多个程序同时运行的感觉。同理,在一个进程中,程序的执行也是在不同线程间进行切换的,每个线程执行程序的不同部分。

这里简单的做个类比:有一个大型工厂,该工厂负责生产玩具:同时工厂下又有多个车间,每个车间负责不同的功能,生产不同玩具的零件:每个车间里又有多个车间工人,这些工人互相合作,彼此共享资源来共同生产某个玩具零件等。这里的工厂就相当于一个网络爬虫,而每个车间相当于一个进程,每个车间工人相当于线程。这样,通过多线程和多进程,网络爬虫就能高效、快速的进行下去。

多进程的使用方法

Python进行多进程爬虫使用了multiprocessing库,此处使用multiprocessing库的进程池方法进行多进程爬虫,使用方法的代码如下。

from multiprocessing import Poolpool = Pool(processes=4) #创建进程池pool.map(func,iterable[,chunksize

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。