swoole有哪些線程

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視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享