threading
模塊的鎖是否可以與multiprocessing
模塊的鎖互換?Python:從`threading`和`multiprocessing`鎖定可互換?
7
A
回答
7
您通常可以交替使用這兩個,但您需要了解其中的差異。例如,multiprocessing.Event由一個名爲semaphore支持,該應用程序對平臺很敏感。
Multiprocessing.Lock由Multiprocessing.SemLock支持 - 所以它需要命名信號量。本質上,你可以互換使用它們,但是使用多處理的鎖在應用程序上引入了一些平臺需求(即它不能在BSD上運行:))
1
我不這麼認爲。線程鎖在同一進程內,而多處理鎖可能在共享內存中。
我最後一次檢查,多處理不允許你共享隊列中的鎖,這是一個線程鎖。
1
是的,您可以在單進程應用程序中正常使用來自多進程模塊的鎖,但是如果您正在使用多進程,則應該使用它的鎖。
相關問題
- 1. python Multiprocessing和maxtasksperchild
- 2. 在python的Threading模塊下鎖定全局變量
- 3. Python,Django和Threading問題
- 4. 函數可以鎖定互斥鎖嗎?
- 5. Python Threading AssertionError
- 6. Python Threading stdin/stdout
- 7. Python Ctypes&Threading
- 8. 互斥鎖和鎖
- 9. Python Multiprocessing/EM
- 10. python multiprocessing starmap progressbar
- 11. python multiprocessing,pathos slow
- 12. python singleton into multiprocessing
- 13. 鎖定和互鎖之間的區別
- 14. Django Signal vs Python Threading
- 15. 鎖定多個互斥鎖
- 16. python multiprocessing manager.dict()阻止
- 17. python multiprocessing TypeError:'int'對象不可迭代
- 18. CoreData和Threading
- 19. Spring JdbcTemplate和Threading
- 20. python NameError:未定義全局名稱'multiprocessing'
- 21. pthread_getspecific和互斥鎖
- 22. 信號量和互斥鎖定概念
- 23. 鎖定和同步使用互斥
- 24. Python線程和鎖定:死鎖
- 25. 在範圍鎖定之前檢查可選的互斥鎖
- 26. SDL互斥鎖可以鎖定兩次嗎?
- 27. C++ Boost ::線程可升級互斥鎖「嘗試升級鎖定」?
- 28. Logger does not work with python multiprocessing
- 29. python multiprocessing根本不工作
- 30. Python IndexError with pandas and multiprocessing