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