首頁 >後端開發 >PHP問題 >php是多行程還是多執行緒

php是多行程還是多執行緒

王林
王林原創
2019-09-30 11:54:265054瀏覽

php是多行程還是多執行緒

php開發需要了解進程和執行緒,因為也會遇到多執行緒的開發。那什麼是行程和執行緒呢?

一、什麼是行程

行程是程式執行是的一個實例,行程能夠指派給cpu和記憶體等資源。流程一般包含指令集和系統資源,其中指令集就是你的程式碼,系統資源就是指cpu、記憶體以及I/O等。

二、什麼是執行緒

執行緒是一個行程的執行流,執行緒不能分配系統資源,它是行程的一部分,比行程更小的獨立執行的單位。

行程有兩個特性:

1、資源的擁有權

2、調度執行(指令集)

#線程是調度執行的一部分,是指進程執行過程的路徑,也叫程式執行流。線程有時候也叫輕量級進程。

php是多行程還是多執行緒

三、行程與執行緒的關係

程式就像地主,有土地(系統資源),執行緒就像佃戶(線程,執行種地流程)。每個地主(進程)只要有一個工作的佃戶(線程)。進程-資源分配的最小單位,相對健壯,崩潰一般不影響其他進程,但是切換進程時耗費資源,效率差一點。

執行緒-程式執行的最小單位,沒有獨立的位址空間,一個執行緒死掉可能整個行程就死掉,但是節省資源,切換效率高。

四、php程式設計常見的進程和執行緒

1、在web應用程式中,我們每次造訪php,就建立一個PHP進程,當然也會建立至少一個PHP線程。

2、PHP使用pcntl來進行多進程編程

3、PHP中使用pthreads來進行多線程編程

4、nginx的每個進程只有一個線程,每個執行緒可以處理多個客戶端的存取

5、php-fpm使用多行程模型,每個行程只有一個執行緒,每個執行緒只能處理一個客戶端存取。

6、apache可能使用多進程模型,也可能使用多執行緒模型,取決於使用哪種SAPI。

推薦教學:PHP影片教學

#

以上是php是多行程還是多執行緒的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn