Python生成器:單線程協程
阿新 • • 發佈:2017-06-16
color 一份 才會 imp author 一個 range next 執行
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("[牛肉餡]") 15c.__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")
Python生成器:單線程協程