在python中,有一种简单的方法可以将1+ args传递给pool.map

时间:2015-10-10 02:47:23

标签: python

我想使用pool.map来简化脚本中的并发性,并且我找到与下面链接相同的问题,但是没有得到解决此问题的简明方法。

Python multiprocessing pool.map for multiple arguments

from multiprocessing.dummy import Pool as ThreadPool

def run_multiple_args(tuple_args):
    args_1 = tuple_args[0]
    args_2 = tuple_args[1]
    print args_1, args_2

pool = ThreadPool(2)

arg_list = [(1,2), (4,8)]

pool.map(func=run_multiple_args, iterable=arg_list)
pool.close()
pool.join()

我想用 def run_multiple_args(args_1,args_2): 替换 tuple_args

没有第三方lib,代码越少越好。 任何想法?

1 个答案:

答案 0 :(得分:0)

您可以使用lambda解包参数元组:

from multiprocessing.dummy import Pool as ThreadPool

def run_multiple_args(args_1, args_2):
    print args_1, args_2

pool = ThreadPool(2)
arg_list = [(1,2), (4,8)]

pool.map(func=lambda args: run_multiple_args(*args), iterable=arg_list) # <-- see here
pool.close()
pool.join()