Python爬虫编程思想(142):多线程和多进程爬虫--多进程

Posted 蒙娜丽宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫编程思想(142):多线程和多进程爬虫--多进程相关的知识,希望对你有一定的参考价值。

        尽管多线程可以实现并发执行,不过多个线程之间是共享当前进程的内存的,也就是说,线程可以申请到的资源有限。要想更能发挥并发的作用,可以考虑使用多进程。

        如果建立的进程比较多,可以使用multiprocessing模块的进程池(Pool类),通过Pool类构造方法的processes参数,可以指定创建的进程数。Pool类有一个map方法,用于将回调函数与要给回调函数传递的数据管理起来,代码如下:

pool = Pool(processes=4)
​​​​​​​pool.map(callback_fun,values)

        上面的代码利用Pool对象创建了4个进程,并通过map方法指定了进程回调函数,当进程执行时,就会调用这个函数,values是一个可迭代对象,每次进程运行时,就会从values中取一个值传递给callback_fun,也就是说,callback_fun函数至少要有一个参数接收values中的值。

以上是关于Python爬虫编程思想(142):多线程和多进程爬虫--多进程的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫编程思想(135):多线程和多进程爬虫--Python与线程

Python爬虫编程思想(135):多线程和多进程爬虫--Python与线程

Python爬虫编程思想(134):多线程和多进程爬虫--线程与进程详解

Python爬虫编程思想(134):多线程和多进程爬虫--线程与进程详解

Python爬虫编程思想(143):项目实战:多线程和多进程爬虫

Python爬虫编程思想(143):项目实战:多线程和多进程爬虫