python生产者与消费者问题
2016-06-29 16:24
489 查看
#!/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()
相关文章推荐
- python 去除空格和换行
- Python之路_Day7
- python 计算N天之后的日期
- Python快速排序
- Python 核心编程笔记_Chapter_4_Note_2 内建函数(built-in functions)
- python使用sqlalchemy连接pymysql数据库
- Python之基础篇(二)
- python 中date datetime time 与str的互转
- Python模块——struct
- python 多线程
- __init__(self),self,super,继承杂谈
- Python 核心编程笔记_Chapter_4_Note_1 对象属性
- python multiprocessing 多进程
- Python正则表达式中的 compile,search,group,groups 函数的简单说明
- python django下载大的csv文件
- python画图包seaborn和matplotlib中文字体显示(针对windows系统,,使用ipython notebook)
- Python之路_Day8
- python笔记 - day3
- 支持向量机 smo算法
- Python学习-集合