Swoole提供了完善的進程管理機制,當Worker進程異常退出,如發生PHP的致命錯誤、被其他程式誤殺,或達到max_request次數之後正常退出。 (建議學習: swoole視訊教學
開始時重新拉起新的Worker流程。
Worker進程內可以像普通的apache php或php-fpm中寫程式碼。swoole_server執行緒模式
這就是多執行緒Worker模式,Reactor執行緒來處理網路事件輪詢,讀取資料。得到的請求交給Worker執行緒去處理。
Swoole提供了可設定的參數,以實現m/n的參數調整。
在這種模式下onReceive可以有適度的阻塞操作。多執行緒模式比行程模式輕量一些,而且執行緒之間可以共享堆疊和資源。
存取共享記憶體時會有同步問題,需要使用Swoole提供的鎖定機制來保護資料。
目前已經提供了Mutex、讀寫鎖定、檔案鎖定、信號量、自旋鎖總共5種鎖的實作。
多執行緒的優點:物件和變數是共享的,可直接進行操作
檔案描述子是共享的,不同的執行緒可以對同一個資源直接進行操作
多執行緒的缺點:#操作非局部變數時需要加鎖,程式設計難度高
一個執行緒發生記憶體錯誤,整個行程會全部結束
由於PHP的ZendVM在多執行緒模式存在記憶體錯誤,多執行緒模式在v1.6.0版本後已關閉######以上是swoole worker有事件輪詢嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!