6.25python线程问题

Posted 吾皇万岁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()


多看别人的代码,多问自己是否能写出来这样优雅代码!  代码一定要低耦合,高优雅!!!敲代码要多思考!

 

 

以上是关于6.25python线程问题的主要内容,如果未能解决你的问题,请参考以下文章

python多线程

[Python3] 043 多线程 简介

python threading超线程使用简单范例的代码

上周热点回顾(6.19-6.25)

newCacheThreadPool()newFixedThreadPool()newScheduledThreadPool()newSingleThreadExecutor()自定义线程池(代码片段

python中的多线程和多进程编程