1、在多参数函数,如果只想在多进程任务中依次取一个参数可迭代对象中的每个值,其他参数是固定的,使用偏函数来构建单参数函数。
2、不要用lambda函数代替偏函数,否则会报局部函数不能序列化的错误。
实例
from multiprocessing import Pool from tqdm import tqdm import numpy as np import math import time from functools import partial def func(x,y): time.sleep(0.1) return math.sin(x)+math.cos(y) with Pool(processes = 20) as pool: result = list(tqdm(pool.imap(partial(func,y = math.pi), np.linspace(0,2*math.pi,1000)), total=1000))
以上就是python多进程中多个参数函数的使用,希望对大家有所帮助。更多Python学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。