6.25python线程问题
#encoding=utf-8 #2018-6-25 20:34:48 #解决耦合的问题
#用队列解决这种问题,起到了缓冲的作用 import threading import time # #python2中 # from Queue import Queue #python3中 from queue import Queue class Producer(threading.Thread): def run(self): global queue count = 0 while True: if queue.qsize() < 1000: for i in range(100): count = count +1 msg = '生成产品'+str(count) queue.put(msg) print(msg) time.sleep(0.5) class Consumer(threading.Thread): def run(self): global queue while True: if queue.qsize() > 100: for i in range(3): msg = self.name + '消费了 '+queue.get() print(msg) time.sleep(1) if __name__ == '__main__': queue = Queue() for i in range(500): queue.put('初始产品'+str(i)) for i in range(2): p = Producer() p.start() for i in range(5): c = Consumer() c.start()
多看别人的代码,多问自己是否能写出来这样优雅代码! 代码一定要低耦合,高优雅!!!敲代码要多思考!