Concurrent.futures:map()和submit()的使用场景有哪些?

5
我正在学习Python的concurrent.futures模块,并使用它来更熟悉并发编程模型。不幸的是,由于这是一个相对较新的模块,我找不到太多面向初学者的文献。
我知道map()通过进程或线程调用迭代器上的函数并返回直接的返回值。而submit()则返回一个future对象。
我想要更多解释,为什么要选择其中一个。似乎map()更适用于明显并行的任务,不需要协调。而submit()可能更适用于复杂的并发用例。但是,我对此还比较陌生,希望有更有经验的人可以扩展一下。
谢谢。
1个回答

3

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

concurrent.map 视为内置的 map 函数的并行版本。使用 submit 生成一个 future。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接