LINUX.ORG.RU

python — как правильно использовать multiprocessing?

 ,


1

5

Код

from multiprocessing import Pool

def foo(x,y,z):
	print(x,y,z)

def bar():
	pool = Pool() #set number of processes
	pool.map(lambda x: foo(x,"a","b"), range(10))

if __name__ == '__main__':
	bar()
Приводит к
_pickle.PicklingError: Can't pickle <function bar.<locals>.<lambda> at 0x7f837d7da840>:
attribute lookup <lambda> on __main__ failed
Соответственно, помогает только создание отдельной функции в глобальном нэймспэйсе. Как это обойти и ЧЯДНТ?

★★★★★

Последнее исправление: thunar (всего исправлений: 2)

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.