zoukankan      html  css  js  c++  java
  • 生成器并行


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

    print("包子[%s]来了,被[%s]吃了!" %(baozi,name))

    c = consumer("ChenRonghua")
    c.__next__()

    def producer(name):
    c = consumer('A')
    c2 = consumer('B')
    c.__next__()
    c2.__next__()
    print("老子开始准备做包子啦!")
    for i in range(10):
    time.sleep(1)
    print("做了1个包子,分两半!")
    c.send(i)
    c2.send(i)

    producer("lian")


    A 准备吃包子啦!
    B 准备吃包子啦!
    老子开始准备做包子啦!
    做了1个包子,分两半!
    包子[0]来了,被[A]吃了!
    包子[0]来了,被[B]吃了!
    做了1个包子,分两半!
    包子[1]来了,被[A]吃了!
    包子[1]来了,被[B]吃了!
    做了1个包子,分两半!
    包子[2]来了,被[A]吃了!
    包子[2]来了,被[B]吃了!
    做了1个包子,分两半!
    包子[3]来了,被[A]吃了!
    包子[3]来了,被[B]吃了!
    做了1个包子,分两半!
    包子[4]来了,被[A]吃了!
    包子[4]来了,被[B]吃了!
    做了1个包子,分两半!
    包子[5]来了,被[A]吃了!
    包子[5]来了,被[B]吃了!
    做了1个包子,分两半!
    包子[6]来了,被[A]吃了!
    包子[6]来了,被[B]吃了!
    做了1个包子,分两半!
    包子[7]来了,被[A]吃了!
    包子[7]来了,被[B]吃了!
    做了1个包子,分两半!
    包子[8]来了,被[A]吃了!
    包子[8]来了,被[B]吃了!
    做了1个包子,分两半!
    包子[9]来了,被[A]吃了!
    包子[9]来了,被[B]吃了!

  • 相关阅读:
    开始写游戏 --- 第十一篇
    开始写游戏 --- 第十篇
    开始写游戏 --- 第九篇
    CDN的原理以及其中的一些技术
    深入理解Redis主键失效原理及实现机制
    使用 Redis 实现分布式系统轻量级协调技术
    Redis实现分布式锁
    进程线程协程
    类加载机制
    消息队列
  • 原文地址:https://www.cnblogs.com/rongye/p/9933160.html
Copyright © 2011-2022 走看看