from queue import Queue
from threading import Thread
class mydownloader(Thread):
def __init__(self,queue):
Thread.__init__(self)
self.queue = queue
def run(self):
i = 0
mydict={}
#print("当前队列容量{}".format(self.queue.qsize()))
while True:
if self.queue.qsize()==0:
print("完美收官!")
break
print("当前队列容量{}\r\n".format(self.queue.qsize()))
print("处理第{}波次".format(i))
mydict = self.queue.get()
print("我爱{},他今年芳龄{}".format(mydict["name"],mydict["age"]))
print("处理后队列容量{}".format(self.queue.qsize()))
i+=1
def main():
queue = Queue()
queue.put({"name": "程劲", "age": 21})
queue.put({"name": "陈培昌", "age": 19})
queue.put({"name": "厉智", "age": 31})
queue.put({"name": "徐晓冬", "age": 40})
queue.put({"name": "奥", "age": 36})
for i in range(2):
cpc = mydownloader(queue)
cpc.daemon=True
cpc.start()
queue.join() #if __name__=="__main__":
main()
结果:

当前队列容量5

处理第0波次
我爱程劲,他今年芳龄21
处理后队列容量4
当前队列容量4 当前队列容量4
处理第1波次
我爱陈培昌,他今年芳龄19
处理后队列容量3
当前队列容量3 处理第0波次 处理第2波次我爱厉智,他今年芳龄31 处理后队列容量2我爱徐晓冬,他今年芳龄40 当前队列容量1
处理后队列容量1 当前队列容量1 处理第3波次
我爱奥,他今年芳龄36
处理第1波次处理后队列容量0 完美收官!

最新文章

  1. angular2系列教程(九)Jsonp、URLSearchParams、中断选择数据流
  2. js数据类型
  3. Spring JPA Junit 关闭自动回滚
  4. 【转载】PHP使用1个crontab管理多个crontab任务
  5. bash脚本编程之二 条件判断and 逻辑运算
  6. Kali Linux Web 渗透测试视频教程—第十课 w3af
  7. [笔记]学习HighCharts的使用(不错的web图表插件)
  8. WeUI首页、文档和下载 - 专为微信设计的 UI 库 - 开源中国社区
  9. CentOS 6.4 LNMP 环境编译安装
  10. Delphi -- 创建 桌面、发送到...、快速启动栏、开始菜单、程序菜单、右键菜 单
  11. NullSafe基于Runtime的深度解析
  12. IOC的总结
  13. linux的crash之hardlock排查记录
  14. Dynamics CRM2013 业务规则的新建、激活与删除
  15. Angular4基本网络请求get、post方式
  16. SpringBoot集成Atomikos使用Oracle数据库mybatis、jta框架
  17. c# 采用datatable 快速导入数据至MSSQL的方法分享
  18. hibernate一级缓存和快照
  19. django admin 支持时间更改
  20. Maven支撑下的War应用依赖另外一个WAR应用的解决方案

热门文章

  1. CentOS7 中arp欺骗,如何让你玩游戏的室友早点睡觉?
  2. 关于组播数据包“发不出去",c#无法接收
  3. 【AMAD】stackprint -- 为Python加入利于调试的traceback信息
  4. OpenStack组件——Keystone身份认证
  5. java去除数组中的空值
  6. sqlalchemy orm的cascade的参数
  7. java追加文件
  8. python中super函数的参考
  9. 小白学习tornado第二站-tornado简单介绍
  10. Eslint报错整理与解决方法