cjcmay 发表于 2018-8-14 12:16:06

python生产者消费者模型

#!/usr/bin/env python  
#coding:utf-8
  
from Queue import Queue
  
from threading import Thread
  
from time import sleep
  

  
class Producer(Thread):
  
    def __init__(self, queue, group=None, target=None, name=None,
  
                  args=(), kwargs=None, verbose=None):
  
      Thread.__init__(self, group=None, target=None, name=None,
  
                  args=(), kwargs=None, verbose=None)
  
      self.queue = queue
  

  
    def run(self):
  
      while True:
  
            if self.queue.full():
  
                print '\033[31m生产满了\033[0m'
  
                sleep(2)
  
            else:
  
                queue.put('包子')
  
                print '生产了一个包子'
  
                sleep(2)
  

  
class Consumer(Thread):
  
    def __init__(self, queue, group=None, target=None, name=None,
  
                  args=(), kwargs=None, verbose=None):
  
      Thread.__init__(self, group=None, target=None, name=None,
  
                  args=(), kwargs=None, verbose=None)
  
      self.queue = queue
  

  
    def run(self):
  
      while True:
  
            if self.queue.empty():
  
                print '\033[31m没有包子了\033[0m'
  
                sleep(2)
  
            else:
  
                queue.get()
  
                print '消费了一个包子'
  
                sleep(2)
  

  

  
queue = Queue(maxsize=100)
  
'''生产者'''
  
pr = Producer(queue)
  
pr.start()
  

  
'''消费者'''
  
for i in range(2):
  
    con = Consumer(queue)
  
    con.start()
页: [1]
查看完整版本: python生产者消费者模型