PHP 多進程和多執行緒的優缺點

2020-07-16 10:05:49
PHP 多進程和多執行緒的優缺點

多進程

1.使用多進程, 子進程結束以後, 核心會負責回收資源

2.使用多進程, 子進程異常退出不會導致整個進程Thread退出. 父進程還有機會重建流程.

3.一個常駐主進程, 只負責任務分發, 邏輯更清楚.

4.多進程方式更加穩定,另外利用進程間通訊(IPC)也可以實現資料共用。

5.共用記憶體,這種方式和執行緒間讀寫變數是一樣的,需要加鎖,會有同步、死鎖問題。

6.訊息佇列,可以採用多個子進程搶佇列模式,效能很好

多執行緒

1.執行緒是在同一個進程內的,可以共用記憶體變數實現執行緒間通訊

2.執行緒比進程更輕量級,開很大量進程會比執行緒消耗更多系統資源

3.多執行緒也存在一些問題:

4.執行緒讀寫變數存在同步問題,需要加鎖

5.鎖的粒度過大存在效能問題,可能會導致只有1個執行緒在執行,其他執行緒都在等待鎖

6.同時使用多個鎖,邏輯複雜,一旦某個鎖沒被正確釋放,可能會發生執行緒死鎖

7.某個執行緒發生致命錯誤會導致整個進程崩潰

以上就是PHP 多進程和多執行緒的優缺點的詳細內容,更多請關注TW511.COM其它相關文章!