Concurrent.futures:map()与submit()的用例是什么?

时间:2012-08-29 19:16:45

标签: python concurrency python-3.x

我正在浏览Python concurrent.futures模块,并使用它来熟悉并行/并发编程模型。不幸的是,由于它是一个相对较新的模块,我找不到大量面向初学者的文献。

我理解map()返回通过进程或线程在iterable上调用的函数的直接返回值。并且submit()返回一个期货对象。

我想更多地解释为什么人们会选择使用其中一种。似乎map()更适用于不需要协调的明确并行任务。而submit()可能对复杂的并发用例更有用。但是,我对此很陌生,希望有更多知识渊博的人能够扩展。

感谢。

1 个答案:

答案 0 :(得分:2)

map用于在一个或多个iterables上调用单个函数。 submit用于为单个函数调用生成Future对象及其关联参数。

concurrent.map视为内置map函数的并行版本。 submit用于生成未来。