Python入门:生成器并行(协程)

import time

def consumer(name):

  print("%s 准备吃包子啦!" %name)

  while True:

    baozi=yield

    print("包子[%s]来了,被[%s]吃了!"%(baozi,name))

c=consumer("Lily")

c.__next__()

#b1='韭菜馅'

#c.send(b1)

#c.__next__()

 

def product(name):

  c=consumer('A') #生成两个消费者

  c2=consumer('B')

  c.__next__()  #让消费者做准备

  c2.__next__()

  print("老子开始准备做包子啦!")

  for i in range(10): #做10个包子

    time.sleep(1)

    print("做了1个包子,分两半!")

    c.send(i)   #把包子给消费者

    c2.send(i)

 

producer("yanyan")

posted @ 2018-07-17 15:05  luckerzhang  阅读(92)  评论(0编辑  收藏  举报