Python:使用导入模块中的多处理池

时间:2016-08-26 00:24:27

标签: python multiprocessing ipython python-3.5 pool

我在Windows 7环境下的Anaconda-Spyder平台上使用Python 3.5。 在test1.py中,我在一个执行多处理池的类中有一个方法:

from multiprocessing import Pool

def f(x):
    return x*x

class calc(object):        
    def run(self):  
        with Pool() as pool:
            g = pool.map(f,[0,1,2,7])
        print(g)
        return g

在test2.py中,我创建了一个类实例并调用它来执行多处理:

import importlib
imp = importlib.import_module('test1')

if __name__ == '__main__':
    c = imp.calc()
    output = c.run()

看来我处于无限循环中;即(iPython)控制台正在运行,但没有生成输出。我怎样才能让它正常工作?为了隐藏执行细节,我更喜欢调用在另一个模块中执行多处理的函数。

0 个答案:

没有答案