首頁  >  文章  >  php框架  >  swoole有哪些線程

swoole有哪些線程

尚
原創
2019-12-30 09:54:101816瀏覽

swoole有哪些線程

swoole中的執行緒:

1、MainReactor(主執行緒)

主執行緒會負責監聽server socket,如果有新的連接accept,主執行緒會評估每個Reactor執行緒的連線數量。將此連線分配給連線數最少的reactor線程,做一個負載平衡。

2 、Reactor執行緒群組

Reactor執行緒負責維護客戶端機器的TCP連線、處理網路IO、收發資料完全是非同步非阻塞的模式。

swoole的主線程在Accept新的連接後,會將這個連接分配給一個固定的Reactor線程,在socket可讀時讀取數據,並進行協議解析,將請求投遞到Worker進程。在socket可寫入時將資料傳送給TCP客戶端。

3、心跳包偵測執行緒(HeartbeatCheck)

#Swoole配置了心跳偵測之後,心跳包執行緒會在固定時間內對所有先前線上的連線

傳送偵測封包

4、UDP收包執行緒(UdpRecv)

接收並且處理客戶端udp封包

swoole想要實現最好的效能必須創造出多個工作進程幫助處理任務,但Worker進程就必須fork操作,但是fork操作是不安全的,如果沒有管理會出現很多的殭屍進程,進而影響伺服器效能,同時worker進程被誤殺或因為程式的原因會異常退出,為了確保服務的穩定性,需要重新建立worker進程。

推薦學習: swoole影片教學

#

以上是swoole有哪些線程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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