我将以下代码用于包含100,000个键和值的字典...我想通过执行多处理/多线程来使其更快,因为每个循环都独立于另一个循环。谁能告诉我如何申请,哪种(多处理/多线程)更适合这种方法
from urlparse import urlparse
ProcessAllURLs(URLs)
ProcessAllURLs(URLs)
def ProcessAllURLs(URLs):
for eachurl in URLs:
x=urlparse(eachurl)
print eachurl.netloc
谢谢
最佳答案
我建议Python's multiprocessing library。特别要研究the section labeled "Using a pool of workers"。重做上面的代码应该很快,以便它使用系统中所有可用的内核。
不过,有一个技巧:不要打印池工作人员的URL。最好将答案传回主流程,然后将其汇总在那里进行打印。从不同的进程进行打印将导致大量混乱,不协调的控制台输出。