【问题标题】:How to pass more than one argument to Process?如何将多个参数传递给 Process?
【发布时间】:2020-11-07 20:16:36
【问题描述】:

我想使用多进程模块启动一个具有多个参数的函数作为新进程:

 def f(*args):
    x= args[0]
    y= args[1]
    return x+y

p = Process(target=f,args=??)

我想知道如何传递多个参数;据我所知,文档没有提到这一点。

【问题讨论】:

  • 你有没有尝试过?想象如何从发布的代码中传递多个参数似乎并不难
  • 您在寻找 multiprocessing.starmap() 吗?
  • 不应该 args* 实际上是 *args
  • 我尝试将参数分别作为元组和列表提供,但我不知道如何在函数中捕获它们

标签: python process multiprocessing


【解决方案1】:

使用单独的参数:

def f(x,y):
    return x+y

if __name__ == '__main__':
    p = Process(target=f,args=(1,2,))
    p.start()
    p.join()

使用*args 语法:

def f(*args):
    x = args[0]
    y = args[1]
    return x+y

if __name__ == '__main__':
    p = Process(target=f,args=(1,2,))
    p.start()
    p.join()

【讨论】:

    猜你喜欢
    • 2021-12-12
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2019-02-02
    相关资源
    最近更新 更多