Python中的并行数据处理

2024-05-04 07:12:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个架构,基本上是一个带有url地址的队列和一些处理这些url地址内容的类。目前代码运行良好,但是从队列中依次拉出一个url、将其发送到相应的类、下载url内容并最终处理它的过程会很慢。在

例如,如果它可以从队列中读取n个url,然后抛出n个进程或线程来处理下载和处理,那么它将更快并正确地利用资源。在

如果您能帮我做这些,我将不胜感激:

  1. 什么样的软件包可以用来解决这个问题?在
  2. 你还能想出什么别的办法?在

Tags: url利用内容队列进程过程架构地址
2条回答

您可能需要查看Python Multiprocessing库。使用multiprocessing.pool,您可以给它一个函数和一个数组,它将用数组的每个值并行调用函数,使用您指定的任意多个或多个进程。在

如果C-call很慢,比如下载、数据库请求、其他IO—您可以使用线程。线程在

如果python代码很慢,比如框架、逻辑,而不是加速的解析器,那么就需要使用多处理池或进程。它还加快了python代码的速度,但节省的空间较少,需要深入了解它在复杂代码(锁、信号量)中的工作方式。在

相关问题 更多 >