消费者延迟与生产者 - 消费者模式

时间:2015-09-27 20:27:48

标签: queue producer-consumer python-multithreading

问题:

  1. 将query1,query2,query3添加到队列中。消费者立即开始使用添加的查询。一切正常。

  2. 队列为空后,同样的查询将再次添加到队列中。出于某种原因,消费者现在会在开始使用给定查询之前挂起一段时间(5-10秒)。

  3. 伪:

    from Queue import queue
    from Threading import thread
    
    fifo = queue()
    
    class Producer:
    
        def produce_query(self, query):
             global fifo
             fifo.put(query)
             if consumer.not_started():
                 consumer.start()
    
    class Consumer(Thread):
    
        def run(self):
             global fifo
             while True:
                  query = fifo.get(block=True)
                  self.execute(query)
    

    我不确定我是否误解了队列工作原理。我是否需要通知队列/消费者以使消费者以某种方式立即工作或什么?

    我很感激帮助!

0 个答案:

没有答案