1. 程式人生 > >python-叠代器實現異步(在串行中)

python-叠代器實現異步(在串行中)

pro log cer def pri 通過 返回值 UC ons

import time
def consumer(name):
print(‘%s 準備吃包子啦!‘ %name)
while True:
baozi = yield #yield不但可以返回值還可以接收值
print(‘包子[%s],被[%s]吃了!‘%(baozi,name))

def producer(name):
c = consumer(‘A‘) #實例化對象
c2 = consumer(‘B‘)
c.__next__()   #通過next方法調用c和c2
c2.__next__()
print(‘老子準備開始做包子了‘)
for i in range(10):
time.sleep(1)
print(‘做了兩個包子!‘)
c.send(i) #把循環的值,也就是做好的包子, 告訴A
c2.send(i) #把循環的值,也就是做好的包子, 告訴B

producer(‘goupang‘)

python-叠代器實現異步(在串行中)