zoukankan      html  css  js  c++  java
  • Python 生产者和消费者模型

    import time
    def consumer(name):
    print ("%s consumer one product" %name)
    while True:
    baozi = yield
    print ("baozi[%s] bei [%s] chile" %(baozi,name))

    def producter(name):
    c = consumer('A')
    c2 = consumer('B')
    c.__next__()
    c2.__next__()
    print ("begin to make baozi")
    for i in range(10):
    time.sleep(1)
    print ("make two baozi")
    c.send(i)
    c2.send(i)

    producter('alex')

    结果:

    A consumer one product
    B consumer one product
    begin to make baozi
    make two baozi
    baozi[0] bei [A] chile
    baozi[0] bei [B] chile
    make two baozi
    baozi[1] bei [A] chile
    baozi[1] bei [B] chile
    make two baozi
    baozi[2] bei [A] chile
    baozi[2] bei [B] chile
    make two baozi
    baozi[3] bei [A] chile
    baozi[3] bei [B] chile
    make two baozi
    baozi[4] bei [A] chile
    baozi[4] bei [B] chile
    make two baozi
    baozi[5] bei [A] chile
    baozi[5] bei [B] chile
    make two baozi
    baozi[6] bei [A] chile
    baozi[6] bei [B] chile
    make two baozi
    baozi[7] bei [A] chile
    baozi[7] bei [B] chile
    make two baozi
    baozi[8] bei [A] chile
    baozi[8] bei [B] chile
    make two baozi
    baozi[9] bei [A] chile
    baozi[9] bei [B] chile

     结论:c,c2返回为迭代器,故而consumer为生产者,注意用断点调试的方法来查看。

  • 相关阅读:
    《剑指offer》Q01-12 (牛客10.11)
    北京,我来了
    pods的好处
    iOS那些你从未使用过的属性方法
    重构一个运行超过10年的老项目
    C#泛型
    认真思考创建对象的几种方式
    2014年终总结
    前端优化:AMDclean去除requirejs
    webstorm常用快捷键及插件
  • 原文地址:https://www.cnblogs.com/python-study/p/5463681.html
Copyright © 2011-2022 走看看