码迷,mamicode.com
首页 > 编程语言 > 详细

Python生成器:单线程协程

时间:2017-06-16 19:22:41      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:color   并行   包子   imp   生成   pytho   print   class   end   

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

 

Python生成器:单线程协程

标签:color   并行   包子   imp   生成   pytho   print   class   end   

原文地址:http://www.cnblogs.com/fuyuhao/p/7028760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!