Python生成器:单线程协程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python生成器:单线程协程相关的知识,希望对你有一定的参考价值。
1 #author F 2 3 #单线程下的并行效果 (生成器) 4 #协程 5 6 import time 7 def consumer(name): 8 print("%s 准备吃包子啦" %name) 9 while True: 10 baozi = yield 11 print("包子%s来啦 被%s吃啦!" %(baozi, name)) 12 13 c = consumer("WW") #此时的consumer已经不是函数 他是一个生成器 此时只是初始化了一个生成器 14 # c.send("[牛肉馅]") 15 c.__next__() #必须要执行一个next 语句才会走到yield处 16 c.send("[猪肉馅]") #send语法往生成器中传参 17 18 def producer(name): 19 c = consumer("A") 20 c2 = consumer("B") 21 c.__next__() 22 c2.__next__() 23 print("老子开始准备做包子了!") 24 for i in range(1, 11): 25 time.sleep(1) 26 print("做了一份包子!俩人分着吃") 27 c.send(i) 28 c2.send(i) 29 30 producer("F")
以上是关于Python生成器:单线程协程的主要内容,如果未能解决你的问题,请参考以下文章