swoole沒有多線程么

swoole沒有多線程么

由于php語言不支持線程,因此swoole使用多進程模式。在多進程模式下存在進程內存隔離,在工作進程內修改global全局變量和超全局變量時,在其他進程是無效的。

swoole沒有多線程么

Reactor線程

SwooleServer的主進程是一個多線程的程序。其中有一組很重要的線程,稱之為Reactor線程。它就是真正處理TCP連接,收發數據的線程。

Swoole的主線程在Accept新的連接后,會將這個連接分配給一個固定的Reactor線程,并由這個線程負責監聽此socket。在socket可讀時讀取數據,并進行協議解析,將請求投遞到Worker進程。在socket可寫時將數據發送給TCP客戶端。

分配的計算方式是fd % serv->reactor_num

推薦學習:?swoole視頻教程

以上就是

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