zoukankan      html  css  js  c++  java
  • Python实现:生产者消费者模型(Producer Consumer Model)

    #!/usr/bin/env python
    #encoding:utf8
    
    from Queue import Queue
    import random,threading,time
    
    #生产者类
    class Producer(threading.Thread):
        def __init__(self, name,queue):
            threading.Thread.__init__(self, name=name)
            self.data=queue
    
        def run(self):
            for i in range(5):
                print("%s is producing %d to the queue!" % (self.getName(), i))
                self.data.put(i)
                time.sleep(random.randrange(10)/5)
            print("%s finished!" % self.getName())
    
    #消费者类
    class Consumer(threading.Thread):
        def __init__(self,name,queue):
            threading.Thread.__init__(self,name=name)
            self.data=queue
        def run(self):
            for i in range(5):
                val = self.data.get()
                print("%s is consuming. %d in the queue is consumed!" % (self.getName(),val))
                time.sleep(random.randrange(10))
            print("%s finished!" % self.getName())
    
    def main():
        queue = Queue()
        producer = Producer('Producer',queue)
        consumer = Consumer('Consumer',queue)
    
        producer.start()
        consumer.start()
    
        #producer.join()
        #consumer.join()
        print 'All threads finished!'
    
    if __name__ == '__main__':
        main()
  • 相关阅读:
    ‘随意’不是个好词,‘用心’才是
    servlet
    tomcat服务器
    http协议
    jdbc(Java数据库连接)
    dbcp和druid(数据库连接池)
    关于GitHub
    冒泡和递归
    python内置函数
    python四
  • 原文地址:https://www.cnblogs.com/djoker/p/8250751.html
Copyright © 2011-2022 走看看