python多处理具有多个参数和递归的池

时间:2014-05-06 00:25:35

标签: python parallel-processing multiprocessing

我目前正在尝试使用池多处理功能,以便同时计算多个表的部分。我的代码基本上是:

def funtion(tab1,tab2,...)
  ...

def function_wrapper(args):
  return function(*args)

pool = Pool(processes=num_thread)
arg = [(table1(i,:),table2(i,:),...)for i in range(1000)]
pool.map(function_wrapper, arg)
pool.close()
pool.join() 

我得到错误:IndexError:索引太多了。

有人可以帮我写这个吗?感谢。

1 个答案:

答案 0 :(得分:0)

table1(i,:)应该引发一个SyntaxError。 funtion应该是function。 请修改下面的代码,以便我们有可运行的代码,它展示了IndexError。否则,如下所示,您发布的代码中没有错误。

import multiprocessing as mp
def function(tab1,tab2):
    return tab1+tab2

def function_wrapper(args):
    return function(*args)

if __name__ == '__main__':
    pool = mp.Pool()
    arg = [(i,i) for i in range(1000)]
    print(pool.map(function_wrapper, arg))
    pool.close()
    pool.join()