如何在Python进程之间共享数据?

Dan*_*Dan 7 python multiprocessing python-2.7 python-multiprocessing

我正在使用多处理来为我的Python应用程序创建一个子流程.我想在父进程和子进程之间共享数据.重要的是要提到我需要异步共享它,这意味着子进程和父进程将在代码运行期间更新数据.

什么是最好的方式来执行?

Alo*_*kur 8

这是python文档中的一个简单示例 -

from multiprocessing import Process, Queue

def f(q):
    q.put([42, None, 'hello'])

if __name__ == '__main__':
    q = Queue()
    p = Process(target=f, args=(q,))
    p.start()
    print q.get()    # prints "[42, None, 'hello']"
    p.join()
Run Code Online (Sandbox Code Playgroud)

您也可以使用管道,请参阅更多详细信息 - https://docs.python.org/2/library/multiprocessing.html

  • 队列和管道不是变量,而是进程之间的链接。您可以通过它发送和接收变量 (2认同)