我正在使用多處理爲我的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