【发布时间】:2017-10-02 00:33:18
【问题描述】:
我正在使用Python 3.6.1 关注Is there a simple process-based parallel map for python? 上的答案。我正在尝试以与使用常规 map 函数相同的方式使用它。为什么会这样?如何创建一个并行的map 函数以与lambda 一起使用?
def map_parallel(func, iterable, n_jobs=-1):
if n_jobs == -1:
n_jobs = multiprocessing.cpu_count()
pool = multiprocessing.Pool(processes=n_jobs)
return pool.map(func, iterable)
map_parallel(lambda x: x + 3, range(100))
PicklingError: Can't pickle <function <lambda> at 0x185284f28>: attribute lookup <lambda> on __main__ failed
【问题讨论】:
标签: python function lambda parallel-processing pickle