您好,登錄后才能下訂單哦!
小編給大家分享一下swoole是不是沒有多線程,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
由于PHP語言不支持多線程,因此Swoole使用多進程模式。在多進程模式下存在進程內存隔離,在工作進程內修改global全局變量和超全局變量時,在其他進程是無效的。
Reactor線程
Swoole\Server的主進程是一個多線程的程序。其中有一組很重要的線程,稱之為Reactor線程。它就是真正處理TCP連接,收發數據的線程。
Swoole的主線程在Accept新的連接后,會將這個連接分配給一個固定的Reactor線程,并由這個線程負責監聽此socket。在socket可讀時讀取數據,并進行協議解析,將請求投遞到Worker進程。在socket可寫時將數據發送給TCP客戶端。
分配的計算方式是fd % serv->reactor_num
看完了這篇文章,相信你對“swoole是不是沒有多線程”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。