我該如何編碼才能在進程中共享同一個「singletonic」類的實例?python singleton into multiprocessing
4
A
回答
5
最好的辦法是指定一個特定的進程擁有該實例並專用於該進程;需要訪問該實例的任何其他進程通過將消息通過Queue(由多處理模塊提供)或其他IPC機制發送消息給擁有進程來獲得它,以便通過類似的機制返回答案。
5
進程的要點是有不同的地址空間。如果你想分享進程間的信息,你必須使用一些手段interprocess communication。
1
我不認爲你可以共享進程之間的實例,但你可以讓實例訪問共享內存:http://docs.python.org/library/multiprocessing.html#sharing-state-between-processes來控制它的狀態,如果這真的是你想要做的。
但是,正如其他答案中所述,使用Queue實現您想要的可能更容易。
2
在Python 2.6中,multiprocessing
模塊有一個Value
對象用於sharing state between processes。他們有一個代碼示例,可以讓你瞭解如何以這種方式共享狀態,並且在編寫單例類時可以使用這種方法。
相關問題
- 1. python Multiprocessing和maxtasksperchild
- 2. python multiprocessing,pathos slow
- 3. python multiprocessing manager.dict()阻止
- 4. Python IndexError with pandas and multiprocessing
- 5. Logger does not work with python multiprocessing
- 6. python multiprocessing根本不工作
- 7. python csv into dictionary
- 8. python into cygwin
- 9. python list into dict
- 10. python multiprocessing shared Counter,酸洗錯誤
- 11. python multiprocessing TypeError:'int'對象不可迭代
- 12. python multiprocessing不能同時運行
- 13. 關於python multiprocessing的初學者問題?
- 14. 來自multiprocessing中multiprocessing.Queue()的返回值Python
- 15. Python:從`threading`和`multiprocessing`鎖定可互換?
- 16. python multiprocessing starmap vs apply_async,哪個更快?
- 17. MultiProcessing中的Path.GetTempFileName
- 18. pandas multiprocessing apply
- 19. Iterable multiprocessing Queue not exiting
- 20. python matplotlib figure into rgba array
- 21. multiprocessing + psycopg2殭屍兒童
- 22. 如何使用python multiprocessing返回一個值?
- 23. python 3.4 multiprocessing不能與unittest一起工作
- 24. python multiprocessing apply_async似乎正在運行系列作業
- 25. enigma使用python-multiprocessing與if相關if __name__ =='__main__'
- 26. Python&Multiprocessing,將一代代分解成子流程
- 27. python,multiprocessing和dmtcp:檢查點池中的一個進程?
- 28. Python:使用PyBrain和Multiprocessing的多線程學習神經網絡
- 29. 如何對使用python-multiprocessing的代碼進行單元測試
- 30. 匕首2 Singleton vs Real Singleton
我應該更喜歡線程嗎? – DrFalk3n 2009-07-10 15:31:08