小編給大家分享一下swoole事件怎么用,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
Swoole\Server是事件驅(qū)動(dòng)模式,所有的業(yè)務(wù)邏輯代碼必須寫(xiě)在事件回調(diào)函數(shù)中。當(dāng)特定的網(wǎng)絡(luò)事件發(fā)生后,底層會(huì)主動(dòng)回調(diào)指定的PHP函數(shù)。共支持13種事件。
事件執(zhí)行順序
所有事件回調(diào)均在$server->start后發(fā)生
服務(wù)器關(guān)閉程序終止時(shí)最后一次事件是onShutdown
服務(wù)器啟動(dòng)成功后,onStart/onManagerStart/onWorkerStart會(huì)在不同的進(jìn)程內(nèi)并發(fā)執(zhí)行
onReceive/onConnect/onClose在Worker進(jìn)程中觸發(fā)
Worker/Task進(jìn)程啟動(dòng)/結(jié)束時(shí)會(huì)分別調(diào)用一次onWorkerStart/onWorkerStop
onTask事件僅在task進(jìn)程中發(fā)生
onFinish事件僅在worker進(jìn)程中發(fā)生
onStart/onManagerStart/onWorkerStart 3個(gè)事件的執(zhí)行順序是不確定的
協(xié)程模式
Swoole2/4版本支持了協(xié)程,使用協(xié)程后事件回調(diào)函數(shù)將會(huì)并發(fā)地執(zhí)行。協(xié)程是一種用戶(hù)態(tài)線(xiàn)程實(shí)現(xiàn),沒(méi)有額外的調(diào)度消耗,僅占用內(nèi)存。
使用協(xié)程模式,可以理解為“每次事件回調(diào)函數(shù)都會(huì)創(chuàng)建一個(gè)新的線(xiàn)程去執(zhí)行,事件回調(diào)函數(shù)執(zhí)行完成后,線(xiàn)程退出”。
如果希望關(guān)閉協(xié)程,可設(shè)置:
$server->set(["enable_coroutine" => false, ]);
看完了這篇文章,相信你對(duì)swoole事件怎么用有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁(yè)名稱(chēng):swoole事件怎么用-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://jinyejixie.com/article44/eiihe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站排名、靜態(tài)網(wǎng)站、定制網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容