首頁 > php框架 > Swoole > 主體

swoole worker有事件輪詢嗎

(*-*)浩
發布: 2019-12-16 09:28:08
原創
2200 人瀏覽過

swoole worker有事件輪詢嗎

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板