lang110 发表于 2018-8-16 11:52:13

python中生产者消费者

#!/usr/bin/python  
#_*_coding:utf-8_*_
  

  
from threading import Thread
  
from Queue import Queue
  
import time
  

  
class Producer(Thread):
  
    def __init__(self, name, queue):
  
      self.__Name = name
  
      self.__Queue = queue
  
      super(Producer, self).__init__()
  

  
    def run(self):
  
      while True:
  
            if self.__Queue.full():
  
                time.sleep(1)
  
            else:
  
                self.__Queue.put('baozi')
  
                time.sleep(1)
  
                print '%s 生产了一个包子' % (self.__Name)
  

  
class Consumer(Thread):
  
    def __init__(self, name, queue):
  
      self.__Name = name
  
      self.__Queue = queue
  
      super(Consumer, self).__init__()
  

  
    def run(self):
  
      while True:
  
            if self.__Queue.empty():
  
                time.sleep(1)
  
            else:
  
                time.sleep(1)
  
                self.__Queue.get()
  
                print '%s 消费了一个包子' % (self.__Name)
  

  

  
que = Queue(maxsize = 100) #队列空间大小,队列是安全的
  

  
c1 = Producer('老张', que)
  
c1.start()
  

  
c2 = Producer('老李', que)
  
c2.start()
  

  
c3 = Producer('老马', que)
  
c3.start()
  

  
for item in range(20):
  
    name = 'chentao%d' % (item,)
  
    temp = Consumer(name, que)
  
    temp.start()


页: [1]
查看完整版本: python中生产者消费者