与multiprocessing相同的功能.Pool在pathos中的连接

时间:2017-01-15 12:48:18

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

我正在使用multiprocessing.Process来防止某些功能运行太久。

我想使用pathos而不是python的multiprocessing(由于它能够处理标准多处理程序包无法处理的事情),但似乎缺少某些功能:I在pathos中找不到任何允许join超时参数的内容。

我希望有一些东西可以让我在一段时间后终止一个过程。

(我正在使用Windows,所以最简单的替代方案 - 使用signal - 是不可能的,而替代方案似乎非常复杂)

1 个答案:

答案 0 :(得分:3)

我是pathos作者。您可能需要尝试multiprocess,这是multiprocessing的分支(并且是pathos下面的内容)。如果安装了pathos,则应该已经安装了它。

您可以通过以下两种方式获得Process,其中它具有与multiprocessing中相同的所有功能(以及来自dill的其他序列化功能):

>>> import pathos
>>> pathos.helpers.mp.Process
<class 'multiprocess.process.Process'>
>>> import multiprocess
>>> multiprocess.Process
<class 'multiprocess.process.Process'>

因此,multiprocessing中带有timeout参数的任何对象也可以如上所示找到。