pool.starmap不返回任何内容

时间:2018-07-20 03:16:06

标签: python-3.x multiprocessing python-multiprocessing

我正在尝试在多个过程中填充两个字典。字典被命名为节点和populatedNodes。当我通过称为populateTopicNode的函数将它们放入时,将填充它们。这是将它们发送到的代码:

nodesPopulated = pool.starmap(GraphManager.populateTopicNode, zip(connections, 
repeat(nodes), repeat(populatedNodes)))

最近,我将代码从仅使用map(将单个变量传递到populateTopicNode中)切换到了starmap,由于切换,我没有从pool.starmap返回任何内容。 populateTopicNode将返回通过连接传递给它的所有内容,因此,如果connections = [1,2,3],它将返回[1,2,3],但是由于我切换到星图,因此它不返回任何内容。代码完全相同,唯一的区别是还有两个甚至没有使用过的变量,因为我只是在测试星图。因此代码实际上是完全相同的,但是由于某种原因,星图不会返回任何内容,nodesPopulated完全留空。

也许我不知道starmap的工作方式,但我认为它与map相同,但是有多个变量。考虑到我绝对没有改变,除了添加了arent使用的两个变量外,我假设我没有正确使用starmap。

我们非常感谢您对获得更好的理解的帮助。

0 个答案:

没有答案