swoole實(shí)現(xiàn)協(xié)程的方法-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)swoole實(shí)現(xiàn)協(xié)程的方法的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

汝陽(yáng)網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,汝陽(yáng)網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為汝陽(yáng)超過(guò)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的汝陽(yáng)做網(wǎng)站的公司定做!

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é)程所有的操作都可以在用戶態(tài)完成,創(chuàng)建和切換的消耗更低。

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é)程客戶端。

感謝各位的閱讀!關(guān)于swoole實(shí)現(xiàn)協(xié)程的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

名稱欄目:swoole實(shí)現(xiàn)協(xié)程的方法-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://muchs.cn/article42/dssjhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、網(wǎng)站改版、手機(jī)網(wǎng)站建設(shè)標(biāo)簽優(yōu)化、網(wǎng)站策劃、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站