1、在多参数函数,如果只想在多进程任务中依次取一个参数可迭代对象中的每个值,其他参数是固定的,使用偏函数来构建单参数函数。
2、不要用lambda函数代替偏函数,否则会报局部函数不能序列化的错误。
实例
frommultiprocessingimportPool fromtqdmimporttqdm importnumpyasnp importmath importtime fromfunctoolsimportpartial deffunc(x,y): time.sleep(0.1) returnmath.sin(x)+math.cos(y) withPool(processes=20)aspool: result=list(tqdm(pool.imap(partial(func,y=math.pi),np.linspace(0,2*math.pi,1000)),total=1000))
以上就是python多进程中多个参数函数的使用,希望对大家有所帮助。更多Python学习指路:Python基础教程