第十五章、线程之queue模块的各种队列

一、Queue

import queue
q = queue.Queue()#先进先出队列的同步实现,通过双向列表实现的
q.put('123')
q.put('qweqwe')
print(q.get())
print(q.get())
# print(q.get())#会报错,提示队列为空
q.task_done()
q.task_done()
q.join()#通知队列任务的完成情况,当队列取空就唤醒被join阻塞的线程
---------------------------------------------------------
123
qweqwe

二、LifoQueue堆栈

import queue
q = queue.LifoQueue() #后进先出队列的同步实现,通过list来实现的
q.put('粉红色的背心儿')
q.put('粉红色的裤子')
q.put('欧文的各种设备')
print(q.get())
print(q.get())
print(q.get())
---------------------------
欧文的各种设备
粉红色的裤子
粉红色的背心儿

三、PriorityQueue优先级队列

import queue
q = queue.PriorityQueue() # 优先队列的同步实现,通过堆实现
# 通常这个元组的第一个值是int类型
q.put((50,'许成'))
q.put((80,'赵军'))
q.put((1,'宇力'))
print(q.get())
print(q.get())
print(q.get())
---------------------------------------
(1, '宇力')
(50, '许成')
(80, '赵军')

最新文章

  1. java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
  2. Jsonp跨域访问
  3. MyEclipse中折叠和展开所有代码
  4. 实体写到redis写不进去--误把类当成实体类
  5. [CF442A] Borya and Hanabi (暴力bitmask)
  6. C#_GDI+详细教程(图形图像编程基础)
  7. RSA加密解密及数字签名Java实现--转
  8. 最简单的ASP动态页面生成伪静态方法
  9. 仿桌面通知pnotify插件
  10. Android存储之SQLiteDatbase
  11. 学习JVM--垃圾回收(二)GC收集器
  12. git命令提交项目
  13. Python2.x的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
  14. (视频)《快速创建网站》2.1 在Azure上创建网站及网站运行机制
  15. [物理学与PDEs]第2章习题13 将 $p$ - 方程组化为守恒律形式的一阶拟线性对称双曲组
  16. PHP 入门学习教程及进阶(源于知乎网友的智慧)
  17. highcharts.js的时间轴折线图
  18. 列表视图QlistView
  19. 高精度乘法,string中的坑
  20. 音视频处理之FFmpeg+SDL+MFC视频播放器20180411

热门文章

  1. Python之滑动窗口
  2. php7与其他版本共存
  3. 配置nginx直接使用webpack生成的gz压缩文件,而不用nginx自己压缩
  4. 安装部署FastDFS
  5. 22.把hive表中数据导入到mysql中
  6. [ZJOI2010]数字计数 题解
  7. P1003铺地毯
  8. PAT A1006 Sign In and Sign Out (25)
  9. django ajax MTV与MVC 多对多创建方式
  10. django 中 null=True 和 blank=True的区别!