获取多进程中使用的函数的 return 值
getting the return value of a function used in multiprocess
假设我有下面的代码,一个执行某些操作的函数,它在进程中启动,并且 return 是一个值。
from multiprocessing import Process
def my_func(arg):
return 'Hello, ' + arg
p1 = Process(target=my_func, args=('John',)
p1.start()
p1.join()
如何获取函数的 return 值?
回答
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()
假设我有下面的代码,一个执行某些操作的函数,它在进程中启动,并且 return 是一个值。
from multiprocessing import Process
def my_func(arg):
return 'Hello, ' + arg
p1 = Process(target=my_func, args=('John',)
p1.start()
p1.join()
如何获取函数的 return 值?
回答
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()