初识python: 生成器并行(做包子,吃包子)
2024-10-16 02:23:54
知识点:
send(i) :唤醒yield,并将 i 的值传给 yield
#!/user/bin env python
# author:Simple-Sir
# time:20181020
# 单线程并发:做一个包子,两个人吃
import time
# 吃包子生成器
def chibaozi(name):
print('%s想吃包子了!' %name)
while True:
baozi = yield
print('第%s个包子来了,被%s吃了一半!'%(baozi,name)) # 逻辑解析
# c = chibaozi('SimpleGirl')
# c.__next__() # 唤醒yield
# b1='牛肉包子'
# c.send(b1) # 注:唤醒yield,并将b1的值传给 yield # 做包子生成器
def zuobaozi(name):
c1 = chibaozi('SimpleSir')
c2 = chibaozi('SimpleGirl')
c1.__next__()
c2.__next__()
print('%s开始做包子了!'%name)
for i in range(1,6):
time.sleep(1)
print('%s做了1个包子!'%name)
c1.send(i)
c2.send(i) # 调用函数
zuobaozi('SimpleSir')
执行结果:
最新文章
- 借助 SIMD 数据布局模板和数据预处理提高 SIMD 在动画中的使用效率
- frame里的链接跳转
- stl 存放对象析构问题
- Linux 读书笔记 二
- 第四章 跨平台图像显示库——SDL 第一节 与SDL第一次亲密接触
- paper 3:matlab中save,load使用方法小结
- .NET DLL 保护措施详解(五)常规条件下的破解
- Http 状态码完整说明
- [BZOJ 3995] [SDOI2015] 道路修建 【线段树维护连通性】
- [leetcode]3 Sum closest
- vs中web配置可浏览json数据文件
- php文件的管理
- CRF资料
- 真正的ddos防御之道,简单干脆有效!
- BZOJ 3622 : 已经没有什么好害怕的了(dp + 广义容斥原理)
- Fis3构建迁移Webpack之路
- curl命令解析
- 微信开发平台中有个接口是上传多媒体文件,我用的是java 开发的,我怎么样才能在后台实现呢?
- 【bzoj3573】[HNOI2014]米特运输 树形dp
- Actors编程模型
热门文章
- Java 设计模式--策略模式,枚举+工厂方法实现
- 使用$.ajax方式实现页面异步访问,局部更新的效果
- Grafana 任意文件读取漏洞 (CVE-2021-43798)学习
- Intellij IDEA设置自定义类描述信息
- [BUUCTF]REVERSE——[GKCTF2020]BabyDriver
- CF132A Turing Tape 题解
- CF275A Lights Out 题解
- Git差异并列显示
- java 图形化工具Swing 颜色文件选择器 ;JColorChooser;JFileChoose
- response.setHeader(";xxx";,";大侠";)如果赋值中文,那么将不会在页面出值,