zoukankan      html  css  js  c++  java
  • 用yield写协程实现生产者消费者

    思路:

      yield可以使得函数阻塞,next,和send可以解阻塞,实现数据不竞争的生产者消费者模式

    代码:

      import random  #随机数,模拟生产者的制造物

      def eat():    #消费者

        while True:

          item = (yield)

          print("消费了:",item)

        

      def pro(g):    #生产者

        next(g)

        while True:

          item = random.randint(0,99)

          print("生产了:",item)

          g.send(item)

      #调用

      g = eat()    #创建生成器实例

      pro(g)   

      图例:

        

       

        

  • 相关阅读:
    Tarjan-割点&桥&双连通
    树状数组
    loli的搜索测试-5
    思维题
    生成树
    贪心
    loli的搜索测试-4
    树链剖分
    基于AHK的上课自动签到
    用列表实现栈
  • 原文地址:https://www.cnblogs.com/cxhzy/p/10014925.html
Copyright © 2011-2022 走看看