您现在的位置:主页 > 科技 >

python多线程爬虫 python是多线程吗?

标签: 日期:2022-08-22 02:39来源:未知作者:admin
io密集:大部分时间都花在程序上io等待,比如网络io,即http请求等,磁盘io,即文件读写等。 cpu密集: 程序大部分时间都花在了cpu如文本处理、数值计算等。 如果是io密集,然后你可以通过线程池或协程池并发这部分功能,从而提高速度。 但是这里的网络io前提

  io密集:大部分时间都花在程序上io等待,比如网络io,即http请求等,磁盘io,即文件读写等。

  cpu密集: 程序大部分时间都花在了cpu如文本处理、数值计算等。

  如果是io密集,然后你可以通过线程池或协程池并发这部分功能,从而提高速度。

  但是这里的网络io前提是你的带宽不是你爬虫的瓶颈。

  如果是cpu如果密集,这部分工作可以通过流程池并行处理,从而提高速度。多流程意味着你的机器是多核的。

  但也有一些值得优化的地方,比如一些库的选择,比如beautifulsoup虽然很方便,但是有更快的实现方法,比如selectolax速度要快得多。

  如果你不能判断,那么先多线程,再多进程。

  如果单机解决不了,就用工作队列,比如celery。多机并行,肯定会提高速度,而且是水平扩展,当然,这必须让你的任务分布式。

顶一下
(0)
0%
踩一下
(0)
0%
相关文章
共有人强势围观,期待你的评论!评论区
小提示: 本站的评论不需要审核,即发即显,有什么话你就尽管说吧,但不要过激哦,以免遭跨省处理!

验证码:点击我更换图片 匿名评论
最新评论