#!/usr/bin/env 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 1:
if self.__queue.full():
time.sleep(1)
else:
self.__queue.put('bread')
time.sleep(1)
print '%s produce a bread' %(self.__name,)



class Consumer(Thread):

def __init__(self,name,queue):
self.__name = name
self.__queue = queue
super(Consumer,self).__init__()

def run(self):
while 1:
if self.__queue.empty():
time.sleep(1)
else:
self.__queue.get()
time.sleep(1)
print '%s eat a bread' % (self.__name,)

que = Queue(maxsize=100)

for p in range(3):
name = 'P%d' % (p,)
temp = Producer(name, que)
temp.start()

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


相关文章:

  • 2021-05-14
  • 2021-06-09
  • 2021-09-19
  • 2021-11-03
  • 2022-12-23
  • 2022-12-23
  • 2022-01-26
  • 2021-11-12
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-18
  • 2021-09-16
  • 2021-12-09
  • 2022-12-23
相关资源
相似解决方案