pool.imap_unordered()
和pool.apply_async()
之间有什么区别?
什么时候pool.imap_unordered()
比pool.apply_async()
更可取,反之亦然?
调用pool.apply_async(f, (1, 2, 3, 4))
的结果是f(1, 2, 3, 4)
将在某个线程中被调用。apply_async
返回的值是一个AsyncResult
,您可以使用它来等待结果。
调用pool.imap_unordered(f, (1, 2, 3, 4))
的结果是一个迭代器。它返回f(1)
、f(2)
、f(3)
和f(4)
的结果,顺序未指定。