python 3.4使用pool.map调用时,函数的行为会有所不同

时间:2015-09-23 10:38:44

标签: python multiprocessing

我正在尝试编写一个python代码,我可以使用python多处理。实际代码冗长而复杂,所以我将尝试使用一个简单的场景来解释我的问题:

考虑以下功能:

def Parfunc(x):
    print ('abcd')
    return x*x*random.random()

当我使用带有for循环的函数时,它不仅返回值,而且还打印'abcd'。现在,当我使用以下代码执行相同操作时,它会返回值,但打印功能似乎不起作用:

from multiprocessing import Pool
if __name__ == '__main__':
    pool = Pool(processes=4)
    print(pool.map(Parfunc, range(1,21)))

任何帮助将不胜感激......

0 个答案:

没有答案