由於PHP語言不支援多線程,因此Swoole使用多進程模式。在多進程模式下存在進程記憶體隔離,在工作進程內修改global全域變數和超全域變數時,在其他行程是無效的。
Reactor執行緒
#Swoole\Server的主程式是一個多執行緒的程式。 其中有一組很重要的線程,稱為Reactor線程。它就是真正處理TCP連接,收發資料的線程。
Swoole的主線程在Accept新的連接後,會將這個連接分配給一個固定的Reactor線程,並由這個線程負責監聽此socket。在socket可讀時讀取數據,並進行協定解析,將請求投遞到Worker進程。在socket可寫入時將資料傳送給TCP客戶端。
分配的計算方式是fd % serv->reactor_num
#推薦學習: swoole影片教學
#以上是swoole沒有多線程麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!