首页 > 解决方案 > 在一个函数中使用另一个函数不适用于 multiprocess.Pool

问题描述

我尝试在函数内部使用另一个函数,并将其Pool用于map多核。它失败了。如何在中使用多级功能Pool?蟒蛇 3.6.4

from multiprocess import Pool


def fun(x):
    return fun1(x)

def fun1(x):
    return x**2

pool = Pool(4)

pool.map(fun,[1,2,3,4])

输出:

NameError:名称“fun1”未定义

标签: pythonpython-multiprocessingmultiprocess

解决方案


这段代码在我的最后工作正常。我唯一改变的是程序检查以下代码的入口点:

from multiprocess import Pool
def fun(x):
    print fun1(x)

def fun1(x):
    return x**2

if __name__ == '__main__':
    pool = Pool(4)
    pool.map(fun,[1,2,3,4])

推荐阅读