我正在使用下面的代码来创建一个包含100000个键和值的字典…我想通过多处理/多线程处理使它更快,因为每个循环都独立于另一个循环。有谁能告诉我如何应用,哪一种(多处理/多线程)更适合这种方法
from urlparse import urlparse
ProcessAllURLs(URLs)
ProcessAllURLs(URLs)
def ProcessAllURLs(URLs):
for eachurl in URLs:
x=urlparse(eachurl)
print eachurl.netloc
谢谢
Tags:
我推荐Python's multiprocessing library。尤其是研究the section labeled "Using a pool of workers"。重新编写上面的代码应该很快,这样它就可以使用系统的所有可用核心。在
不过,有一个提示:不要打印池工作人员的url。最好将答案返回到主进程,并将它们聚集在那里进行打印。来自不同进程的打印将导致大量混乱、不协调的控制台输出。在
多处理库可能是最好的例子。看起来您的代码可以重写为:
map函数与内置map函数相同,但为每个函数调用运行一个单独的进程。在
有关多处理的详细信息,请参见http://docs.python.org/library/multiprocessing.html。在
相关问题 更多 >
编程相关推荐