Python爬虫编程思想(142):多线程和多进程爬虫--多进程
蒙娜丽宁 于 2022-03-31 19: 2022-3-31 19:41:0 Author: blog.csdn.net(查看原文) 阅读量:10 收藏

蒙娜丽宁 于 2022-03-31 19:41:00 发布 2157 收藏

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

153 篇文章 24 订阅 ¥29.90 ¥99.00

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

        如果建立的进程比较多,可以使用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中的值。


文章来源: https://blog.csdn.net/nokiaguy/article/details/123881304
如有侵权请联系:admin#unsafe.sh