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")