#!/usr/bin/env python
#_*_ coding:utf-8 _*_
from threading import Thread
import time
from Queue import Queue
class producer(Thread):
#producer __init__
def __init__(self,name,queue):
self.__Name = name
self.__Queue = queue
super(producer,self).__init__()
def run(self):
#判断队列里面是不是满了,如果是的休息1秒,如果不是的话那么就向里面放包子
while True:
if self.__Queue.full():
time.sleep(1)
else:
self.__Queue.put('baozi')
time.sleep(1)
print '%s create a baozi ' %(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:
self.__Queue.get()
time.sleep(1)
print '%s eat a baozi' %(self.__Name,)
#设置队列
que = Queue(maxsize=100)
#实例化producer
p1 = producer('cooker1',que)
p1.start()
p2 = producer('cooker2',que)
p2.start()
p3 = producer('cooker3',que)
p3.start()
#实例化consumer
for item in range(20):
name = 'eater %d' %(item,)
eater = Consumer(name,que)
eater.start()
#_*_ coding:utf-8 _*_
from threading import Thread
import time
from Queue import Queue
class producer(Thread):
#producer __init__
def __init__(self,name,queue):
self.__Name = name
self.__Queue = queue
super(producer,self).__init__()
def run(self):
#判断队列里面是不是满了,如果是的休息1秒,如果不是的话那么就向里面放包子
while True:
if self.__Queue.full():
time.sleep(1)
else:
self.__Queue.put('baozi')
time.sleep(1)
print '%s create a baozi ' %(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:
self.__Queue.get()
time.sleep(1)
print '%s eat a baozi' %(self.__Name,)
#设置队列
que = Queue(maxsize=100)
#实例化producer
p1 = producer('cooker1',que)
p1.start()
p2 = producer('cooker2',que)
p2.start()
p3 = producer('cooker3',que)
p3.start()
#实例化consumer
for item in range(20):
name = 'eater %d' %(item,)
eater = Consumer(name,que)
eater.start()