python 线程同步:生产/消费者模式
# coding:utf-8import threading,time,Queue
class Producer(threading.Thread):
def __init__(self,threadname):
threading.Thread.__init__(self,name=threadname)
def run(self):
global queue
queue.put(self.getName())
printself.getName(),'put',self.getName(),'to queue'
class Consumer(threading.Thread):
def __init__(self,threadname):
threading.Thread.__init__(self,name=threadname)
def run(self,threadname):
global queue
print self.getName(),'get',queue.get(),'from queue'
#生成队列对象
queue = Queue.Queue()
#生产者对象列表
plist = []
#消费者对象列表
clist = []
for i in range(10):
p = Producer('Producer' + str(i))
plist.append(p)
for i in range(10):
c = Consumer('Consumer' + str(i))
#运行生产者
for i in plist:
i.start()
i.join()
#运行消费者
for i in clist:
i.start()
i.join()
页:
[1]