有考網(wǎng)有考網(wǎng)合作機構(gòu)>西安培訓(xùn)學(xué)校>西安碑林區(qū)長安英泰移動通信培訓(xùn)
西安碑林區(qū)長安英泰移動通信培訓(xùn)
全國統(tǒng)一學(xué)習(xí)專線 8:30-21:00
位置:有考網(wǎng) > 計算機類 > php開發(fā) > > PHP多進程和多線程是什么?  正文

PHP多進程和多線程是什么?

發(fā)布時間:2021-09-22 16:47:44來源:轉(zhuǎn)載

PHP 多進程和多線程是什么?PHP 多進程和多線程有什么區(qū)別,小編今天為大家介紹PHP 多進程和多線程的優(yōu)缺點。

多進程

1.使用多進程, 子進程結(jié)束以后, 內(nèi)核會負責(zé)回收資源

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

3.一個常駐主進程, 只負責(zé)任務(wù)分發(fā), 邏輯更清楚.

4.多進程方式更加穩(wěn)定,另外利用進程間通信(IPC)也可以實現(xiàn)數(shù)據(jù)共享。

5.共享內(nèi)存,這種方式和線程間讀寫變量是一樣的,需要加鎖,會有同步、死鎖問題。

6.消息隊列,可以采用多個子進程搶隊列模式,性能很好

多線程

1.線程是在同一個進程內(nèi)的,可以共享內(nèi)存變量實現(xiàn)線程間通信

2.線程比進程更輕量級,開很大量進程會比線程消耗更多系統(tǒng)資源

3.多線程也存在一些問題:

4.線程讀寫變量存在同步問題,需要加鎖

5.鎖的粒度過大存在性能問題,可能會導(dǎo)致只有1個線程在運行,其他線程都在等待鎖

6.同時使用多個鎖,邏輯復(fù)雜,一旦某個鎖沒被正確釋放,可能會發(fā)生線程死鎖

7.某個線程發(fā)生致命錯誤會導(dǎo)致整個進程崩潰

相關(guān)內(nèi)容: php開發(fā) php多線程 php多進程

同類文章
相關(guān)熱詞