队列
0707自我总结
队列
1.queue 模块
常用的两种方法
Queue
:先放什么参数先获取什么参数
PriorityQueue
:将放进去的所有参数进行排序,再按照顺序取出
LifoQueue
:构造一个Lifo队列,会从最后开始往前取
2.queue 创建对象的方法
qsize() :返回queue的近似值。注意:qsize>0 不保证(get)取元素不阻塞。qsize< maxsize不保证(put)存元素不会阻塞
empty():判断队列是否为空。和上面一样注意
full():判断是否满了。和上面一样注意
put(item, block=True, timeout=None):
- item为放进去参数
- blocking = False ,如果队列满了,直接报 Full异常,默认不会报错,但是如果继续放他会卡死
- blocking = True,就是等一会,timeout必须为 0 或正数。None为一直等下去,0为不等,正数n为等待n秒还不能存入,报Full异常。
get(item, block=True, timeout=None):获取参数其他参数与put类似,blocking 是报empty异常
get_nowait(item):从队列里取元素,不等待
task_done:一个标记
jion:一般jion与task_done联用,jion他会分析当前队列被放进去总的参数,与task_done标记数是否相同
3.队列的异常
-
queue.empty异常:只有非阻塞的时候,队列为空,取数据才会报异常
-
queue.Full异常:只有非阻塞的时候,队列满了,继续放数据才会出现异常
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理