2014-02-12 168 views
0
  1. 從主進程中,我創建了3個子進程,並且傳遞了一個'common'類的實例...將同一個實例傳遞給了所有3個子進程。
  2. 這個共同的類有一本字典和隊列(其中含有大量的項目)
  3. 這些子進程檢索該隊列
  4. 「項目」對於這些項目,我稱之爲REST服務來獲取一些數據在「項目」
  5. 我這個信息添加到「通用​​」字典
  6. 沒有錯誤

然而,當我嘗試訪問從主過程本詞典,其空。Python多處理 - 共享內存

+0

你能粘貼代碼嗎? –

+0

我認爲這個問題在變量 –

+0

的實例化的地方是可以預料的。請參閱[Python:可能在兩個獨立進程之間共享內存數據](http://stackoverflow.com/q/1268252/4279) – jfs

回答

0

對於進程間共享狀態,最靈活的方法是使用multiprocessing.Manager。您也可以使用例如multiprocessing.Array,但只能包含相同類型的數據。

0

感謝您的回覆。

我設法解決使用 multiprocessing.Manager問題()。字典()

這是最好的方式....我不能完全肯定。我想我需要閱讀更多關於多處理。

我認爲具有挑戰性的事實是,多處理模塊提供了許多功能,並且作爲初學者,知道用於工作的正確「工具」非常具有挑戰性。

我開始使用線程...然後移動到進程....然後使用隊列....然後使用管理器。但是當我閱讀了更多關於這個主題的文章後,我發現Python還有很多東西可以提供。