【发布时间】:2017-03-10 21:36:30
【问题描述】:
我正在使用 pathos.multiprocessing 库(因为我的工作方法中包含 lambda),并且正在尝试按顺序运行两个 ProcessingPool。
例如:
from pathos.multiprocessing import ProcessingPool
pool=ProcessingPool(nodes=2)
res=pool.map(workerFunc,workerArgList)
pool.close()
pool.join()
# ...
pool=ProcessingPool(nodes=2)
res=pool.map(workerFunc2,workerArgList2)
pool.close()
pool.join()
代码在第二个 pool.map() 的 pool.py 的 map() 函数中返回 AssertionError(在 assert self._state == RUN 处)。每个池独立工作正常。看来,由于某种原因,在第二次初始化中,池的状态设置为 TERMINATE 而不是 RUN。我应该如何初始化第二个池(或终止第一个池)以获得所需的行为?或者这是我偶然发现的某种错误?
谢谢! 安德鲁
【问题讨论】:
标签: python multiprocessing pool