zoukankan      html  css  js  c++  java
  • 用生成器做伪并发

    #_author:Administrator
    #date:2019/11/4
    import time
    def consumer(name):
    print('%s 开始吃包子啦'%name)
    while True:
    baizi=yield
    print('包子[%s]来了,被[%s]吃了'%(baizi,name))
    def producer(name):
    c1=consumer('A')
    c2=consumer('B')
    next(c1)
    next(c2)
    print('yuwei开始做包子啦')
    for i in range(10):
    time.sleep(1)
    print('做了两个包子')
    c1.send(i)
    c2.send(i)
    producer('yuwei')
    #生成器都是迭代器,迭代器不一定是生成器
    Output:

    A 开始吃包子啦
    B 开始吃包子啦
    yuwei开始做包子啦
    做了两个包子
    包子[0]来了,被[A]吃了
    包子[0]来了,被[B]吃了
    做了两个包子
    包子[1]来了,被[A]吃了
    包子[1]来了,被[B]吃了
    做了两个包子
    包子[2]来了,被[A]吃了
    包子[2]来了,被[B]吃了
    做了两个包子
    包子[3]来了,被[A]吃了
    包子[3]来了,被[B]吃了
    做了两个包子
    包子[4]来了,被[A]吃了
    包子[4]来了,被[B]吃了
    做了两个包子
    包子[5]来了,被[A]吃了
    包子[5]来了,被[B]吃了
    做了两个包子
    包子[6]来了,被[A]吃了
    包子[6]来了,被[B]吃了
    做了两个包子
    包子[7]来了,被[A]吃了
    包子[7]来了,被[B]吃了
    做了两个包子
    包子[8]来了,被[A]吃了
    包子[8]来了,被[B]吃了
    做了两个包子
    包子[9]来了,被[A]吃了
    包子[9]来了,被[B]吃了

  • 相关阅读:
    .net core 2.0以上版本加载appsettings.json
    BZOJ 2564: 集合的面积
    P3829 [SHOI2012]信用卡凸包
    P2215 [HAOI2007]上升序列
    P2511 [HAOI2008]木棍分割
    P2510 [HAOI2008]下落的圆盘
    P4053 [JSOI2007]建筑抢修
    P4050 [JSOI2007]麻将
    P4049 [JSOI2007]合金
    P4161 [SCOI2009]游戏
  • 原文地址:https://www.cnblogs.com/startl/p/11791954.html
Copyright © 2011-2022 走看看