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())