1. 程式人生 > >python11—生成器2

python11—生成器2

一、生產者消費者模型

#協程,單執行緒中的併發

1、def consumer(name):   #生成器函式

    print('我是【%s】,準備吃包子了 %name')

    while True:

      baozi=yield      #(next)第一步輸出yield值,(send)第二步接受值繼續執行到下一個yield

      time.sleep(0.1)

      print('%s 把%s吃掉了',%(name,baozi))

 

  def product():

    c1=consumer('xiaogao')  #生成器物件

    c2=consumer('xmsb')  #生成器物件

    c1.__next__()

    c2.__next__()

    for i in rang(10):

      time.sleep(0.1)

      c1.send('肉餡包子%s' %i)   #傳給baozi=yield    

      c2.send('肉餡包子%s' %i)   #傳給baozi=yield    

 

執行:product()