swoole進程,線程整理

參考:https://www.cnblogs.com/wangzhaobo/articles/9667765.html

進程和線程的關係

進程: 就是執行一個應用程序會創建一個進程,它同時也會佔用一部分內存的這段計算機操作的狀態時間,進程可以創建子進程。
線程: 就是一個進程執行過程中,分爲多個執行任務,可以理解爲多端執行代碼,然後這個多段執行狀態理解爲線程,線程是操作系統進行運算調度的最小單位。
進程和線程的關係: 一個程序有多個進程,一個進程有多個線程。

再來張出現了很多次的圖

在這裏插入圖片描述
由圖可知,swoole分爲兩大進程manager和master,master是用來接收維護socket連接,協調相關有關線程等做雜活的,manager是用來fork 管理worker進程和task進程的。

深入理解master和manager

他們之間的關係可以理解爲 Reactor 就是 nginx,Worker 就是 PHP-FPM。Reactor線程異步並行地處理網絡請求,然後再轉發給 Worker 進程中去處理。Reactor 和 Worker 間通過 unixSocket進行通信。

一個更通俗的比喻,假設 Server 就是一個工廠,那 Reactor 就是銷售,接受客戶訂單。 而 Worker 就是工人,當銷售接到訂單後,Worker 去工作生產出客戶要的東西。而 TaskWorker 可以理解爲行政人員,可以幫助 Worker幹些雜事,讓 Worker 專心工作。

摘自swoole文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章