我正在浏览 Python concurrent.futures 模块并使用它来更加熟悉并行/并发编程模型。不幸的是,由于它是一个相对较新的模块,我找不到大量面向初学者的文献。
我知道 map() 通过进程或线程返回在可迭代对象上调用的函数的直接返回值。submit() 返回一个期货对象。
我想更多地解释为什么一个人可能会选择使用其中一种。似乎 map() 更适合不需要协调的明显并行任务。submit() 对于复杂的并发用例可能更有用。但是,我对此很陌生,并希望知识渊博的人可以扩展。
谢谢。