您好,登錄后才能下訂單哦!
小編給大家分享一下php編程常見的進程和線程案例分析,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
php編程常見的進程和線程
一、什么是進程
進程是程序執行是的一個實例,進程能夠分配給cpu和內存等資源。進程一般包括指令集和系統資源,其中指令集就是你的代碼,系統資源就是指cpu、內存以及I/O等。
二、什么是線程
線程是進程的一個執行流,線程不能分配系統資源,它是進程的一部分,比進程更小的獨立運行的單位。
解釋一下:進程有兩個特性:一是資源的所有權,一個是調度執行(指令集),線程是調度執行中的一部分,是指進程執行過程的路徑,也叫程序執行流。線程有時候也叫輕量級進程。
三、進程和線程的關系
進程就像地主,有土地(系統資源),線程就像佃戶(線程,執行種地流程)。每個地主(進程)只要有一個干活的佃戶(線程)。
進程-資源分配的最小單位,相對健壯,崩潰一般不影響其他進程,但是切換進程時耗費資源,效率差些。
線程-程序執行的最小單位,沒有獨立的地址空間,一個線程死掉可能整個進程就死掉,但是節省資源,切換效率高。
四、php編程常見的進程和線程
1、在web應用中,我們每次訪問php,就建立一個PHP進程,當然也會建立至少一個PHP線程。
2、PHP使用pcntl來進行多進程編程
3、PHP中使用pthreads來進行多線程編程
4、nginx的每個進程只有一個線程,每個線程可以處理多個客戶端的訪問
5、php-fpm使用多進程模型,每個進程只有一個線程,每個線程只能處理一個客戶端訪問。
6、apache可能使用多進程模型,也可能使用多線程模型,取決于使用哪種SAPI.
看完了這篇文章,相信你對php編程常見的進程和線程案例分析有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。