Python進程專題完結篇:多進程處理的通常建議
寫了兩週,終於要完工了,開森😁
上一篇文章:
Python進程專題10:GIL
下一篇文章:
Python線程專題縱覽篇
確保進程之間傳遞的全部數據都可以序列化
避免實用共享數據,儘量使用消息傳遞和隊列。實用消息傳遞時,沒必要過去擔憂同步、鎖定和其它問題。當進程的數量增長時,它每每還能提供更好的擴展。
在必須運行在單獨進程中的函數內部,不要使用全局變量,應當顯示的傳遞參數。
儘可能不要在同一個程序中混合使用線程和多進程處理,除非須要大幅度提升任務的安全性(或者根據檢查代碼的角色下降安全性)
特別要注意關閉程序的方式,通常而言,須要顯示的關閉程序,並使用一種定義良好的終止模式,而不是牢牢依賴於垃圾回收或者被迫使用terminate()操做強制終止子進程。
管理器和代理的使用域分佈式計算中的多個概念密切相關(如分佈式對象)。
每一個系統上的進程處理方法不太,請當心處理。
最重要的一點:儘可能讓事情變得簡單。
歡迎關注本站公眾號,獲取更多信息