新聞中心
1、Greenlet說明

嵊泗網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)從2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
greenlet是一個(gè)基于Greenlet實(shí)現(xiàn)的網(wǎng)絡(luò)庫(kù),它使用greenlet來實(shí)現(xiàn)協(xié)同程序。其基本思想是,當(dāng)greenlet遇到IO操作時(shí),例如訪問網(wǎng)絡(luò)時(shí),它會(huì)自動(dòng)切換到其他greenlet,直到IO操作完成,然后在適當(dāng)?shù)臅r(shí)候切換回繼續(xù)執(zhí)行。因?yàn)镮O操作非常耗時(shí),而且常常使程序處于等待狀態(tài),所以使用gevent來自動(dòng)切換協(xié)程,可以確保運(yùn)行的是greenlet,而非等待IO操作。
2、實(shí)例
可以通過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)頁(yè)名稱:創(chuàng)新互聯(lián)Python教程:pythongreenlet如何交替運(yùn)行
網(wǎng)頁(yè)網(wǎng)址:http://www.dlmjj.cn/article/cdhogcs.html


咨詢
建站咨詢
