【发布时间】:2022-01-12 13:47:53
【问题描述】:
我有两个函数,需要返回值才能继续执行脚本的其他部分……但目前我的代码只给出第一个函数的输出……
import multiprocessing
def gm(name):
h = "Good Morning"+str(name)
qout.put(h)
def sal(name):
k="Hi "+str(name)
qout.put(k)
if __name__ == '__main__':
qout = multiprocessing.Queue()
p1 = multiprocessing.Process(target=gm, args=("ashin",))
p2 = multiprocessing.Process(target=sal, args=("ashin",))
p1.start()
p2.start()
p1.join()
p2.join()
result = qout.get()
#output - “早安阿欣”
#required 输出 - “Good Morning ashin”和“Hi ashin”
感谢您的帮助......
【问题讨论】:
-
好吧,您需要进行一些重构:您需要将 que 作为参数添加到处理调用中,然后您需要在每个函数的开头调用 gue.get,如“计算”之后" 使用 put 来填充 que。最后,主要你需要读出 que
-
试试
result = []; while not qout.empty():; result.append(qout.get())
标签: python linux multiprocessing