我将以下代码用于包含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。最好将答案传回主流程,然后将其汇总在那里进行打印。从不同的进程进行打印将导致大量混乱,不协调的控制台输出。

10-07 13:31