Python 多线程应用 生产者消费者模型

 

 

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 from queue import Queue
 5 from threading import Thread
 6 
 7 class Producer(Thread):
 8     def __init__(self, name, queue):
 9         '''
10         生产者初始化
11         :param name:生产者名称
12         :param queue:容器
13         '''
14         self._name = name
15         self._queue = queue
16 
17     def run(self):
18         self._queue.put('包子')
19         Thread.run(self)
20 
21 class Customer(Thread):
22     def __init__(self, name, queue):
23         '''
24         消费者初始化
25         :param name:消费者名称
26         :param queue: 容器
27         '''
28         self._name = name
29         self._queue = queue
30 
31     def run(self):
32         self._queue.get()
33         Thread.run(self)
34 
35 que = Queue(maxsize=100)
36 
37 liFu = Producer('李师傅', que)
38 liFu.start()
39 
40 
41 print(que.qsize())
42 que.put('1')
43 que.put('2')
44 print('empty: ', que.empty())
45 print(que.qsize())
46 que.get()
47 que.get()
48 print('empty: ', que.empty())

 

posted @ 2016-11-27 21:46  taibai  阅读(99)  评论(0编辑  收藏  举报