博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[python] Queue.Queue vs. collections.deque
阅读量:5114 次
发布时间:2019-06-13

本文共 964 字,大约阅读时间需要 3 分钟。

Queue,Queue 用于多线程之间,无需lock的通信;

collections.deque 用于实现数据结构中的queue, 或两端都可以实现queue的功能。

Queue.Queue and collections.deque serve different purposes. Queue.Queue is intended for allowing different threads to communicate using queued messages/data, whereas collections.deque is simply intended as a datastructure. That's why Queue.Queue has methods like put_nowait()get_nowait(), and join(), whereas collections.deque doesn't. Queue.Queue isn't intended to be used as a collection, which is why it lacks the likes of the inoperator.

It boils down to this: if you have multiple threads and you want them to be able to communicate without the need for locks, you're looking for Queue.Queue; if you just want a queue or a double-ended queue as a datastructure, use collections.deque.

Finally, accessing and manipulating the internal deque of a Queue.Queue is playing with fire - you really don't want to be doing that.

转载于:https://www.cnblogs.com/shiyublog/p/10760375.html

你可能感兴趣的文章
pair的例子
查看>>
前端框架性能对比
查看>>
@property中 retain 详解
查看>>
java8 stream初试,map排序,list去重,统计重复元素个数,获取map的key集合和value集合...
查看>>
Python爬虫个人记录(四)利用Python在豆瓣上写一篇日记
查看>>
jdk8 Function
查看>>
第二次作业
查看>>
迷茫中的自己
查看>>
burp suite 的intruder 四种攻击方式
查看>>
机器学习----人脸对齐的算法-ASM.AAM..CLM.SDM
查看>>
自定义文本选中样式
查看>>
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
查看>>
MySQL 数据库 的安装和基本管理
查看>>
MyEclipse中JavaMail冲突问题
查看>>
四边形面积探索
查看>>
曾有一个人,爱我如生命(2)
查看>>
利用贝叶斯算法实现手写体识别(Python)
查看>>
【转】Spring和Struts整合的三种方式
查看>>
怎么重置mysql的自增列AUTO_INCREMENT初时值
查看>>
new worker
查看>>