• Python-生成器迭代器编程练习


    1、吃包子----生产者消费者模型(单线程一边发送,一边执行 ,伪并发)

    吃包子
     1 import time
     2 def producer():
     3     ret=[]
     4     for i in range(100):
     5         time.sleep(0.1)
     6         ret.append('包子%s' %i)
     7     return ret
     8 
     9 def consumer(name):
    10     print('我是[%s],我准备开始吃包子了' %name)
    11     while True:
    12         baozi=yield
    13         time.sleep(1)
    14         print('%s 很开心的把【%s】吃掉了' %(name,baozi))
    15 
    16 def producer():
    17     c1=consumer('wupeiqi')
    18     c2=consumer('yuanhao_SB')
    19     c1.__next__()
    20     c2.__next__()
    21     for i in range(10):
    22         time.sleep(1)     
    23         c1.send('包子 %s' %i)  #发送的值,就是yield的返回值
    24         c2.send('包子 %s' %i)
    25 producer()
    26 
    27 
    28 ------------------->
    29 
    30 我是[wupeiqi],我准备开始吃包子了
    31 我是[yuanhao_SB],我准备开始吃包子了
    32 wupeiqi 很开心的把【包子 0】吃掉了
    33 yuanhao_SB 很开心的把【包子 0】吃掉了
    34 wupeiqi 很开心的把【包子 1】吃掉了
    35 yuanhao_SB 很开心的把【包子 1】吃掉了
    36 wupeiqi 很开心的把【包子 2】吃掉了
    37 yuanhao_SB 很开心的把【包子 2】吃掉了
    38 wupeiqi 很开心的把【包子 3】吃掉了
    39 yuanhao_SB 很开心的把【包子 3】吃掉了
    40 wupeiqi 很开心的把【包子 4】吃掉了
    41 yuanhao_SB 很开心的把【包子 4】吃掉了
    42 wupeiqi 很开心的把【包子 5】吃掉了
    43 yuanhao_SB 很开心的把【包子 5】吃掉了
    44 wupeiqi 很开心的把【包子 6】吃掉了
    45 yuanhao_SB 很开心的把【包子 6】吃掉了
    46 wupeiqi 很开心的把【包子 7】吃掉了
    47 yuanhao_SB 很开心的把【包子 7】吃掉了
    48 wupeiqi 很开心的把【包子 8】吃掉了
    49 yuanhao_SB 很开心的把【包子 8】吃掉了
    50 wupeiqi 很开心的把【包子 9】吃掉了
    51 yuanhao_SB 很开心的把【包子 9】吃掉了
    52 
    53 #运行结果省略部分.....

    2

    为什么要坚持,想一想当初!
  • 相关阅读:
    Django 查询filter 常见查询方法
    Django form表单
    Django的认证系统
    django 中间件
    tricks or tips
    Git
    Paper Reading: A Brief Introduction to Weakly Supervised Learning
    Paper Reading: Dynamic Routing Between Capsules (NIPS 2017)
    Paper Reading: Recombinator Networks: Learning Coarse-to-Fine Feature Aggregation (CVPR 2016)
    Paper Reading: 3D Hand Pose Estimation: From Current Achievementsto Future Goals (CVPR 2018)
  • 原文地址:https://www.cnblogs.com/JerryZao/p/8634269.html
Copyright © 2020-2023  润新知