如何使用多重处理从多个函数获取返回的数据

时间:2019-05-01 15:37:20

标签: python

import multiprocessing

def worker1(num):
    return num + 10

def worker2(num):
    return num + 20

if __name__ == "__main__":

    p1 = multiprocessing.Process(target=worker1, args=[5])
    p2 = multiprocessing.Process(target=worker2, args=[5])

    print(p1)
    print(p2)

    p1.start()
    p2.start()

    p1.join()
    p2.join()

我是多处理领域的新手。

在这里,我正在使用python实现多处理。 这是工作。 但是,无论两个函数返回什么值,我如何都能得到结果。

当我打印p1和p2时,结果低于标准。

<Process(Process-1, initial)>
<Process(Process-2, initial)>

1 个答案:

答案 0 :(得分:2)

我相信正确的方法是multiprocessing.manager()或multiprocessing.Queue()。 使用Queue是一种更简单的方法,它为您提供了一个简单的共享变量,其中可以包含每个进程的结果。