2024-05-04 07:12:57 发布
网友
我有一个架构,基本上是一个带有url地址的队列和一些处理这些url地址内容的类。目前代码运行良好,但是从队列中依次拉出一个url、将其发送到相应的类、下载url内容并最终处理它的过程会很慢。在
例如,如果它可以从队列中读取n个url,然后抛出n个进程或线程来处理下载和处理,那么它将更快并正确地利用资源。在
n
如果您能帮我做这些,我将不胜感激:
您可能需要查看Python Multiprocessing库。使用multiprocessing.pool,您可以给它一个函数和一个数组,它将用数组的每个值并行调用函数,使用您指定的任意多个或多个进程。在
multiprocessing.pool
如果C-call很慢,比如下载、数据库请求、其他IO—您可以使用线程。线程在
如果python代码很慢,比如框架、逻辑,而不是加速的解析器,那么就需要使用多处理池或进程。它还加快了python代码的速度,但节省的空间较少,需要深入了解它在复杂代码(锁、信号量)中的工作方式。在
您可能需要查看Python Multiprocessing库。使用
multiprocessing.pool
,您可以给它一个函数和一个数组,它将用数组的每个值并行调用函数,使用您指定的任意多个或多个进程。在如果C-call很慢,比如下载、数据库请求、其他IO—您可以使用线程。线程在
如果python代码很慢,比如框架、逻辑,而不是加速的解析器,那么就需要使用多处理池或进程。它还加快了python代码的速度,但节省的空间较少,需要深入了解它在复杂代码(锁、信号量)中的工作方式。在
相关问题 更多 >
编程相关推荐