這篇文章給大家介紹怎么在python中利用生成器實現協程,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務至上”的服務理念,堅持“二合一”的優(yōu)良服務模式,真誠服務每家企業(yè),認真做好每個細節(jié),不斷完善自我,成就企業(yè),實現共贏。行業(yè)涉及成都柔性防護網等,在成都網站建設、營銷型網站建設、WAP手機網站、VI設計、軟件開發(fā)等項目上具有豐富的設計經驗。
Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨立的項目和大型項目。
1、方法
我們通過“生產者-消費者”模型來研究協程的應用。生產者產生消息后直接跳轉到消費者開始執(zhí)行,消費者完成執(zhí)行后切換回生產者繼續(xù)生產。
2、實例
#-*- coding:utf8 -*- def consumer(): r = '' while True: n = yield r if not n: return print('[CONSUMER]Consuming %s...' % n) r = '200 OK' def producer(c): # 啟動生成器 c.send(None) n = 0 while n < 5: n = n + 1 print('[PRODUCER]Producing %s...' % n) r = c.send(n) print('[PRODUCER]Consumer return: %s' % r) c.close() if __name__ == '__main__': c = consumer() producer(c)
send(msg)和next()的區(qū)別在于send可以將參數傳遞給yield表達式,此時傳遞的參數作為yield表達式的值,yield的參數返回給調用者的值。
關于怎么在python中利用生成器實現協程就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。