def consummer(name):
while True:
baozi = yield
print('包子%s來啦,被%s吃了'%(baozi,name))
return None
c = consummer('紫星大人')
bz = '韭菜餡'
c.send(bz) #喚醒yield並傳值
c.__next__() #只喚醒不傳值
模擬單線程下的並行效果#實際上應該是攜程效果,比進程更小的一個單位
import time
def consummer(name):
print('顧客%s已經做好吃包子的準備了'%name)
while True:
baozi = yield
print('包子%s來啦,被%s吃了'%(baozi,name))
def producer():
c = consummer('張三')
c2 = consummer('李四')
c.__next__()
c2.__next__()
print('廚師開始做包子啦!')
for i in range(20,):
time.sleep(1)
print('生產出來2個包子')
c.send(i)
c2.send(i)
producer()