【问题标题】:getting the return value of a function used in multiprocess获取多进程中使用的函数的返回值
【发布时间】:2019-02-10 10:33:59
【问题描述】:

假设我有下面的代码,一个做某事的函数,它在进程中启动,并返回一个值。

from multiprocessing import Process

def my_func(arg):
    return 'Hello, ' + arg

p1 = Process(target=my_func, args=('John',)
p1.start()
p1.join()

如何获取函数的返回值?

【问题讨论】:

标签: python python-multiprocessing


【解决方案1】:

回答

from multiprocessing import Process, Queue

Q = Queue()

def my_func(arg):
    Q.put('Hello, ' + arg)

p1 = Process(target=my_func, args=('John',))
p1.start()
print(Q.get())
p1.join()

【讨论】:

  • 请添加缺少的括号:Queue(), Process(target=my_func, args=('John',))。
  • 这意味着修改你原来的my_func如果你想并行使用它添加Q
猜你喜欢
  • 2023-03-12
  • 2014-04-01
  • 1970-01-01
  • 2010-12-07
  • 1970-01-01
  • 2023-03-22
  • 2016-01-03
  • 1970-01-01
  • 2012-02-20
相关资源
最近更新 更多