4

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

我知道 map() 通过进程或线程返回在可迭代对象上调用的函数的直接返回值。submit() 返回一个期货对象。

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

谢谢。

4

1 回答 1

3

map用于在一个或多个可迭代对象上调用单个函数。用于为带有关联参数的单个函数调用submit生成一个对象。Future

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

于 2012-12-19T21:55:25.963 回答