我正在浏览Python concurrent.futures模块,并使用它来熟悉并行/并发编程模型。不幸的是,由于它是一个相对较新的模块,我找不到大量面向初学者的文献。
我理解map()返回通过进程或线程在iterable上调用的函数的直接返回值。并且submit()返回一个期货对象。
我想更多地解释为什么人们会选择使用其中一种。似乎map()更适用于不需要协调的明确并行任务。而submit()可能对复杂的并发用例更有用。但是,我对此很陌生,希望有更多知识渊博的人能够扩展。
感谢。
答案 0 :(得分:2)
map
用于在一个或多个iterables上调用单个函数。 submit
用于为单个函数调用生成Future
对象及其关联参数。
将concurrent.map
视为内置map
函数的并行版本。 submit
用于生成未来。