怎么在python中使用进程池

  介绍

这篇文章给大家介绍怎么在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中使用进程池就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么在python中使用进程池