我正在使用多处理为我的Python应用程序创建一个子进程。 我想在我的父进程和子进程之间共享数据。 重要的是要提到我需要异步共享,意味着子进程和父进程将在代码运行期间更新数据。如何在Python进程之间共享数据?
执行该操作的最佳方法是什么?
我正在使用多处理为我的Python应用程序创建一个子进程。 我想在我的父进程和子进程之间共享数据。 重要的是要提到我需要异步共享,意味着子进程和父进程将在代码运行期间更新数据。如何在Python进程之间共享数据?
执行该操作的最佳方法是什么?
这是从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()
您可以使用管为好, 参考更多详细信息 - https://docs.python.org/2/library/multiprocessing.html
谢谢!如何检查队列或PIPE变量中是否发生了变化,并执行某些操作? – Dan
队列和管道不是可变的,但是进程之间的链接。你可以通过它发送和接收变量 – CoMartel
@你可能想引用我共享的链接中的“共享内存”部分 – AlokThakur
你如何创建子进程? – AlokThakur
p = multiprocessing.Process(target = myProcess,args =()) p.start()' – Dan
它取决于您要共享的数据类型以及您正在运行的代码。你能提供一个你想要/做什么的最简单的例子吗? – CoMartel