知识点:

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 = yieldprint('第%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')

执行结果:

转载于:https://www.cnblogs.com/simple-li/p/9821453.html

初识python: 生成器并行(做包子,吃包子)相关推荐

  1. python之路day14--列表生成式、生成器generator、生成器并行

    列表生成式 列表生成式阅读量: 44 现在有个需求,现有列表a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求你把列表里的每个值加1,你怎么实现?你可能会想到2种方式 二逼青年版 ...

  2. 12行代码AC——试题 算法训练 猴子吃包子——解题报告

    励志用尽量少的代码做高效的表达. 注意点: 挨个算吃包子的时间势必会因为省略小数的问题导致结果不准确. 因此,对于本题:我的核心思路是:分数代替小数,使用除法+取余的方式化简分数,进而解题. 代码: ...

  3. Python入门:生成器并行(协程)

    import time def consumer(name): print("%s 准备吃包子啦!" %name) while True: baozi=yield print(&q ...

  4. 昨晚梦见妈妈给做了好多包子

    昨晚梦见妈妈给做了好多包子,各种馅的都有,还有煎包,白白的小包子,真好看. 梦里自己吃的可香了--

  5. JAVA 多线程实现包子铺(买包子,吃包子)

    1 package baozi; 2 3 /* 4 生产者(包子铺)类:是一个 线程类,继承Thread 5 设置线程任务(run):生产包子 6 对包子 进行判断 7 true:有包子 8 包子铺调 ...

  6. 试题5 算法训练 猴子吃包子

    问题描述 从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同:肉包每秒钟吃x个:韭菜包每秒钟吃y个:没有馅的包子每秒钟吃z个:现在有x1个肉包,y1个韭菜包,z1个没有 ...

  7. 如何发面做馒头、包子

    酵母菌发酵原理 酵母菌是真菌.吸收面团中的养分并生长繁殖,将面粉中的葡萄糖转化为水和二氧化碳气体,使面团膨胀.松软,产生蜂窝状的组织结构. 当然还有一个前提,是面团在 揉面 时产生了足够的面筋,这些面 ...

  8. 蓝桥杯试题 算法训练 猴子吃包子C语言

    问题描述 从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同:肉包每秒钟吃x个:韭菜包每秒钟吃y个:没有馅的包子每秒钟吃z个:现在有x1个肉包,y1个韭菜包,z1个没有 ...

  9. 【搬运自用】Python目录及初识Python - 100天从新手到大师Day01(GitHub)

    原作者:骆昊 https://github.com/jackfrued/Python-100-Days 更多内容欢迎查看并订阅专栏'Python从新手到大师' 第一部分目录 Day01~15 - Py ...

  10. 面试必备|带你彻底搞懂Python生成器

    2019年人工智能系统学: https://edu.csdn.net/topic/ai30?utm_source=ai100_bw 作者 | Rocky0429 转载自 Python空间(ID:Dev ...

最新文章

  1. pytorch遇见RuntimeError: CUDA out of memory的解决
  2. spring boot集成mybatis
  3. CCleaner v5.12.5431 单文件汉化版
  4. python实现网页登录时的rsa加密流程
  5. LOG4J日志级别详解
  6. 自如被起诉索赔了!因装修致邻居家房屋漏水...
  7. Spring : Spring Aop之ProxyFactory
  8. spring aop使用
  9. erp软件是什么软件
  10. linux正则表达式_【开发者成长】5 分钟搞定 Linux 正则表达式
  11. 使用Eclipse将项目上传至远程GitLab
  12. ukey其他错误_关于税务UKey使用常见问题解答
  13. 2020-11-10 oracle 数据库sql 之decode函数
  14. 多智能体(MARL)强化学习与博弈论
  15. 2.数据可视化 Echarts项目 旋转地球
  16. C语言实现英文句子单词提取并分离
  17. 嵌入式思维 、不深不浅的理解
  18. excel打不开_mac版excel死机该如何恢复?
  19. 2021年下半年软考信息安全工程师下午案例题及解析
  20. 公有云-主流公有云介绍

热门文章

  1. 【优化预测】基于matlab鲸鱼算法优化LSTM预测【含Matlab源码 105期】
  2. 计算机学院篮球赛主题,计算机学院称雄中国科大2011年学生篮球赛
  3. fastreport按条件查询_查询代价的
  4. Java集合中List,Set以及Map等集合体系详解(史上最全)
  5. 安装python3.7的步骤_如何在Debian 9上安装Python 3.7?
  6. oracle 存过 的语法,oracle 存储过程的基本语法_oracle
  7. php7 匿名继承类_PHP7中的匿名类使用方法
  8. 直播程序源码更简单的搭建方法
  9. 嵌入式 tomcat的使用
  10. 从零开始学 Web 之 jQuery(二)获取和操作元素的属性