介绍
这篇文章给大家介绍怎么在python中使用进程池,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
python主要用来做什么
python主要应用于:1,网络开发;2、数据科学研究;3,网络爬虫;4、嵌入式应用开发,5日游戏开发;6桌面应用开发。
<强> 1,使用注意强>
(1)使用池时,如果未指定进程数,则默认为CPU核心数。
(2)核心数量对应于计算机的逻辑处理器数量(任务管理器——性能),而不是核心数量(我的计算机有2个核心和4个逻辑处理器,因此这里默认使用4个进程)
(3)进程数可以是几十万,并不意味着开放进程的最大数量是4。只要使用池(10),就可以同时打开10个进程进行爬网。
(4)但是需要注意的是,无论多线程还是多进程,打开过多都会导致切换耗时,降低效率,所以创建过多的多线程和进程是谨慎的。
<强> 2,实例强>
import 请求 得到bs4 import  BeautifulSoup 得到multiprocessing import 池,current_process def get_title(我):,,,, 打印(& # 39;开始# 39;,,current_process () . name),,,, 时间=title_list [],,,, 时间=url & # 39; https://movie.douban.com/top250?start={},过滤器=& # 39;.format(我* 25),,,, 时间=r requests.get (url),,,, 时间=soup BeautifulSoup (r.content, & # 39; html.parser& # 39;),,,, 时间=lis soup.find (& # 39; ol # 39;,, class_=& # 39; grid_view& # 39;) .find_all(& # 39;李# 39;),,,, for li 拷贝lis:,,,,,,,, 时间=title li.find(& # 39;跨度# 39;,,class_=皌itle") .text ,,,,,,, #,return title ,,,,,,, title_list.append(标题),,,,,,,, 打印(标题),,,, 返回(title_list) if __name__ ==, & # 39; __main__ # 39;:,,,, 时间=pool 池(),,,, for 小姐:拷贝范围(10):,,,,,,,, pool.apply_async (get_title, (,,),,,, pool.close (),,,, pool.join (),,,, 印刷(& # 39;完成# 39;)
关于怎么在python中使用进程池就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。