那麽如何解決呢?通過我們的過程方法。子進程崩潰後,它將完全釋放所有內存和錯誤狀態。所以過程更安全。此外,通過這個過程,python可以繞過GIL這個全局鎖問題。
但是這個過程也是有限的。不要構建超過CPU核總數的進程,否則效率不高。
簡單總結壹下。
當我們要進行多任務處理時,首先應該想到使用多處理,但是如果我們覺得過程太繁瑣,就應該考慮使用線程。如果多任務處理太多,可以考慮多個進程,每個進程采用多線程。如果還是不想處理,就用輪詢方式,比如輪詢事件,twisted等等。如果是GUI模式,要通過事件機制或者消息機制來處理,GUI使用單線程。
所以在python中,線程不應該被盲目使用或濫用。但是線程不安全是事實。如果妳只做壹些後臺任務,妳可以考慮用壹個守護線程來做。如果妳需要做壹些危險的事情,它可能會崩潰,所以使用子流程來做。如果需要高穩定性低並發的服務。強烈建議使用多進程的多處理模塊。
在linux或unix中,這個過程不像windows那樣昂貴。還是可以接受的。