我在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)控制台正在运行,但没有生成输出。我怎样才能让它正常工作?为了隐藏执行细节,我更喜欢调用在另一个模块中执行多处理的函数。