Python3 queue队列模块详细介绍


Posted in Python onJanuary 05, 2018

queue介绍

queue是python中的标准库,俗称队列。

在python中,多个线程之间的数据是共享的,多个线程进行数据交换的时候,不能够保证数据的安全性和一致性,所以当多个线程需要进行数据交换的时候,队列就出现了,队列可以完美解决线程间的数据交换,保证线程间数据的安全性和一致性。

注意: 在python2.x中,模块名为Queue

queue模块有三种队列及构造函数

Python queue模块的FIFO队列先进先出。 queue.Queue(maxsize)

LIFO类似于堆,即先进后出。 queue.LifoQueue(maxsize)

还有一种是优先级队列级别越低越先出来。 queue.PriorityQueue(maxsize)

queue模块中的常用方法

queue.qsize() 返回队列的大小

queue.empty() 如果队列为空,返回True,反之False

queue.full() 如果队列满了,返回True,反之False

queue.full 与 maxsize 大小对应

queue.get([block[, timeout]])获取队列,立即取出一个元素, timeout超时时间

queue.put(item[, timeout]]) 写入队列,立即放入一个元素, timeout超时时间

queue.get_nowait() 相当于queue.get(False)

queue.put_nowait(item) 相当于queue.put(item, False)

queue.join() 阻塞调用线程,直到队列中的所有任务被处理掉, 实际上意味着等到队列为空,再执行别的操作

queue.task_done() 在完成一项工作之后,queue.task_done()函数向任务已经完成的队列发送一个信号

代码实例

以下代码在Python3下通过

创建队列

import queue
q = queue.Queue()

empty方法(如果队列为空,返回True)

import queue
q = queue.Queue()
print(q.empty())
#输出:True

full方法(如果队列满了,返回True)

import queue
q = queue.Queue(1) #指定队列大小
q.put('a')
print(q.full())
#输出:True

put方法和get方法

import queue
q = queue.Queue()
q.put('a')
q.put('b')
print(q.get())
#输出:a

qsize方法(返回队列里元素个数)

import queue
q = queue.Queue()
q.put('a')
q.put('b')
print(q.qsize())
#输出:2

总结

以上所述是小编给大家介绍的Python3 queue队列模块详细介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
tornado框架blog模块分析与使用
Nov 21 Python
Python中使用bidict模块双向字典结构的奇技淫巧
Jul 12 Python
Python+Wordpress制作小说站
Apr 14 Python
python itchat实现微信自动回复的示例代码
Aug 14 Python
python实现彩票系统
Jun 28 Python
Python实现App自动签到领取积分功能
Sep 29 Python
python实现画五角星和螺旋线的示例
Jan 20 Python
python for 循环获取index索引的方法
Feb 01 Python
Python实现计算文件MD5和SHA1的方法示例
Jun 11 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
pytorch DataLoader的num_workers参数与设置大小详解
May 28 Python
python元组打包和解包过程详解
Aug 02 Python
python多进程中的内存复制(实例讲解)
Jan 05 #Python
使用python和Django完成博客数据库的迁移方法
Jan 05 #Python
Python3多线程爬虫实例讲解代码
Jan 05 #Python
python编写微信远程控制电脑的程序
Jan 05 #Python
使用python爬虫实现网络股票信息爬取的demo
Jan 05 #Python
简单实现python收发邮件功能
Jan 05 #Python
5款非常棒的Python工具
Jan 05 #Python
You might like
Uncaught exception com_exception with message Failed to create COM object
2012/01/11 PHP
Yii分页用法实例详解
2014/12/04 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
javascript编程起步(第五课)
2007/01/10 Javascript
js每次Title显示不同的名言
2008/09/25 Javascript
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
javascript生成随机数的方法
2014/05/16 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
简述vue状态管理模式之vuex
2018/08/29 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
[01:00:26]Ti4主赛事胜者组第一天 EG vs NEWBEE 1
2014/07/19 DOTA
使用Python处理BAM的方法
2018/09/28 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
python 实现dict转json并保存文件
2019/12/05 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
python 实现超级玛丽游戏
2020/11/25 Python
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
电厂职工自我鉴定
2014/02/20 职场文书
公司外出活动方案
2014/08/14 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库