您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在python中利用生成器實現協程,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。
1、方法
我們通過“生產者-消費者”模型來研究協程的應用。生產者產生消息后直接跳轉到消費者開始執行,消費者完成執行后切換回生產者繼續生產。
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()的區別在于send可以將參數傳遞給yield表達式,此時傳遞的參數作為yield表達式的值,yield的參數返回給調用者的值。
關于怎么在python中利用生成器實現協程就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。