最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

swoole如何實(shí)現(xiàn)協(xié)程

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-03 18:23:32
文檔

swoole如何實(shí)現(xiàn)協(xié)程

swoole如何實(shí)現(xiàn)協(xié)程:Swoole在2.0開(kāi)始內(nèi)置協(xié)程(Coroutine)的能力,提供了具備協(xié)程能力IO接口(統(tǒng)一在命名空間Swoole\Coroutine\*)。開(kāi)啟協(xié)程時(shí)請(qǐng)?jiān)诰幾g時(shí)加入--enable-coroutine編譯選項(xiàng)。協(xié)程可以理解為純用戶態(tài)的線程,其通過(guò)協(xié)作而不是搶占來(lái)進(jìn)行切換。相對(duì)于進(jìn)程或者線程,協(xié)
推薦度:
導(dǎo)讀swoole如何實(shí)現(xiàn)協(xié)程:Swoole在2.0開(kāi)始內(nèi)置協(xié)程(Coroutine)的能力,提供了具備協(xié)程能力IO接口(統(tǒng)一在命名空間Swoole\Coroutine\*)。開(kāi)啟協(xié)程時(shí)請(qǐng)?jiān)诰幾g時(shí)加入--enable-coroutine編譯選項(xiàng)。協(xié)程可以理解為純用戶態(tài)的線程,其通過(guò)協(xié)作而不是搶占來(lái)進(jìn)行切換。相對(duì)于進(jìn)程或者線程,協(xié)
Swoole在2.0開(kāi)始內(nèi)置協(xié)程(Coroutine)的能力,提供了具備協(xié)程能力IO接口(統(tǒng)一在命名空間SwooleCoroutine*)。

開(kāi)啟協(xié)程時(shí)請(qǐng)?jiān)诰幾g時(shí)加入--enable-coroutine編譯選項(xiàng)。

協(xié)程可以理解為純用戶態(tài)的線程,其通過(guò)協(xié)作而不是搶占來(lái)進(jìn)行切換。相對(duì)于進(jìn)程或者線程,協(xié)程所有的操作都可以在用戶態(tài)完成,創(chuàng)建和切換的消耗更低。 (推薦學(xué)習(xí): swoole視頻教程)

Swoole可以為每一個(gè)請(qǐng)求創(chuàng)建對(duì)應(yīng)的協(xié)程,根據(jù)IO的狀態(tài)來(lái)合理的調(diào)度協(xié)程,這會(huì)帶來(lái)了以下優(yōu)勢(shì):

開(kāi)發(fā)者可以無(wú)感知的用同步的代碼編寫(xiě)方式達(dá)到異步IO的效果和性能,避免了傳統(tǒng)異步回調(diào)所帶來(lái)的離散的代碼邏輯和陷入多層回調(diào)中導(dǎo)致代碼無(wú)法維護(hù)。

同時(shí)由于swoole是在底層封裝了協(xié)程,所以對(duì)比傳統(tǒng)的php層協(xié)程框架,開(kāi)發(fā)者不需要使用yield關(guān)鍵詞來(lái)標(biāo)識(shí)一個(gè)協(xié)程IO操作,所以不再需要對(duì)yield的語(yǔ)義進(jìn)行深入理解以及對(duì)每一級(jí)的調(diào)用都修改為yield,這極大的提高了開(kāi)發(fā)效率。

協(xié)程API目前針對(duì)了TCP,UDP等主流協(xié)議client的封裝,包括:

UDP

TCP

HTTP

Mysql

Redis

可以滿足大部分開(kāi)發(fā)者的需求。對(duì)于私有協(xié)議,開(kāi)發(fā)者可以使用協(xié)程的TCP或者UDP接口去方便的封裝。

啟用

Prerequisite:

PHP版本要求:>= 5.5,包括5.5、5.6、7.0、7.1

基于swoole_server或者swoole_http_server進(jìn)行開(kāi)發(fā),目前只支持在onRequet, onReceive, onConnect等事件回調(diào)函數(shù)中使用協(xié)程。

swoole_server和swoole_http_server將為每一個(gè)請(qǐng)求創(chuàng)建對(duì)應(yīng)的協(xié)程,開(kāi)發(fā)者可以在onRequet、onReceive、onConnect 事件回調(diào)中使用協(xié)程客戶端。

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

文檔

swoole如何實(shí)現(xiàn)協(xié)程

swoole如何實(shí)現(xiàn)協(xié)程:Swoole在2.0開(kāi)始內(nèi)置協(xié)程(Coroutine)的能力,提供了具備協(xié)程能力IO接口(統(tǒng)一在命名空間Swoole\Coroutine\*)。開(kāi)啟協(xié)程時(shí)請(qǐng)?jiān)诰幾g時(shí)加入--enable-coroutine編譯選項(xiàng)。協(xié)程可以理解為純用戶態(tài)的線程,其通過(guò)協(xié)作而不是搶占來(lái)進(jìn)行切換。相對(duì)于進(jìn)程或者線程,協(xié)
推薦度:
  • 熱門(mén)焦點(diǎn)

热门图文

猜你喜歡

專題
Top

抖音扫码关注

手机端二维码

每天分享百科知识!