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基础教程
本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。