Python pool.map多参数传递问题

ljz_08 2015-05-24 05:24:22
很多关于multiprocessing教程的例子里并行调用的函数都是只有1个参数的简单情况,如果有多个参数时pool.map的参数列表应该怎么构建?
from multiprocessing import Pool
def f(a,b):
return 'ok'
pool = Pool()
print pool.map(f,此处如何传递参数?)
pool.close()
pool.join()
...全文
14188 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
angwan 2018-07-26
  • 打赏
  • 举报
回复
参考这个办法:https://www.cnblogs.com/c-x-a/p/9049651.html
我没试过,可能可行,原理是通过偏函数,把参数打包进函数名。不过也可以不用map啊,用循环异步也行,支持多参数:apply_async
extend 2017-12-20
  • 打赏
  • 举报
回复
引用 6 楼 sinat_38271084 的回复:
那pool.map() 括号里面可以使用类吗 而不是函数
不能是类,只能是函数。看map方法的说明。
TIAMO-an 2017-12-15
  • 打赏
  • 举报
回复
那pool.map() 括号里面可以使用类吗 而不是函数
混沌鳄鱼 2017-08-21
  • 打赏
  • 举报
回复
引用 4 楼 qq_33229351 的回复:
问下大家 如果我的main没有参数 pool.map(main,【这里怎么办】)
如果没有参数就不要用pool了,pool就是为了把参数里的任务队列分配给进程池里的几个进程并行运算。 如果就为了开几个进程直接用Process类就行了。 比如开4个进程:

import multiprocessing

for i in range(4):
    p = multiprocessing.Process(target = main)
    p.daemon = True
    p.start()

Apokar_csdn 2017-08-21
  • 打赏
  • 举报
回复
问下大家 如果我的main没有参数 pool.map(main,【这里怎么办】)
zc_Teamo 2021-07-31
  • 举报
回复
@Apokar_csdn 用字典
verycx 2017-04-11
  • 打赏
  • 举报
回复
多个参数的话,我是通过下面方法写的。也可以通过apply,不通过map。具体信息查对应method的文档。 from multiprocessing import Pool def f(param ): print(param['a'] , param['b'] , param['c']) return 'ok' param = {'a':"xxx ,'b':xxx ,'c':xxx} pool = mp.Pool() res = pool.map(f,param )
verycx 2017-04-11
  • 打赏
  • 举报
回复
from multiprocessing import Pool def f(param ): print(param['a'] , param['b'] , param['c']) return 'ok' param = {'a':"xxx ,'b':xxx ,'c':xxx} pool = mp.Pool() res = pool.map(f,param )
zhuzhu9651 2015-05-24
  • 打赏
  • 举报
回复
函数名f后面追加就行,(f,a,b)

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧