新聞中心
1、Greenlet說(shuō)明

嵊泗網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)從2013年開(kāi)始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
greenlet是一個(gè)基于Greenlet實(shí)現(xiàn)的網(wǎng)絡(luò)庫(kù),它使用greenlet來(lái)實(shí)現(xiàn)協(xié)同程序。其基本思想是,當(dāng)greenlet遇到IO操作時(shí),例如訪問(wèn)網(wǎng)絡(luò)時(shí),它會(huì)自動(dòng)切換到其他greenlet,直到IO操作完成,然后在適當(dāng)?shù)臅r(shí)候切換回繼續(xù)執(zhí)行。因?yàn)镮O操作非常耗時(shí),而且常常使程序處于等待狀態(tài),所以使用gevent來(lái)自動(dòng)切換協(xié)程,可以確保運(yùn)行的是greenlet,而非等待IO操作。
2、實(shí)例
可以通過(guò)gevent.sleep()交出控制權(quán):
def test(n): for i in range(n): print(gevent.getcurrent(), i) gevent.sleep(1)
當(dāng)然在實(shí)際的代碼里,我們不會(huì)用gevent.sleep()去切換協(xié)程,而是在執(zhí)行到IO操作時(shí)gevent會(huì)自動(dòng)完成,所以gevent需要將python自帶的一些標(biāo)準(zhǔn)庫(kù)的運(yùn)行方式由阻塞式調(diào)用變?yōu)閰f(xié)作式運(yùn)行。
以上就是python greenlet交替運(yùn)行的方法,希望能對(duì)大家有所幫助,更多知識(shí)盡在python學(xué)習(xí)網(wǎng)。
網(wǎng)站題目:創(chuàng)新互聯(lián)Python教程:pythongreenlet如何交替運(yùn)行
新聞來(lái)源:http://www.fisionsoft.com.cn/article/cdhogcs.html


咨詢(xún)
建站咨詢(xún)
