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 相关文章推荐
python装饰器使用方法实例
Nov 21 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
Apr 20 Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
Python存取XML的常见方法实例分析
Mar 21 Python
python获取外网IP并发邮件的实现方法
Oct 01 Python
python实现决策树分类
Aug 30 Python
在python下使用tensorflow判断是否存在文件夹的实例
Jun 10 Python
Python如何实现转换URL详解
Jul 02 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
Aug 28 Python
python代码打印100-999之间的回文数示例
Nov 24 Python
Python Matplotlib简易教程(小白教程)
Jul 28 Python
python sleep和wait对比总结
Feb 03 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
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
thinkPHP微信分享接口JSSDK用法实例
2017/07/07 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
使用pjax实现无刷新更改页面url
2015/02/05 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
angularjs指令之绑定策略(@、=、&)
2017/04/13 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
python中import学习备忘笔记
2017/01/24 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
2019/08/26 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
python命令 -u参数用法解析
2019/10/24 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
MoviePy常用剪辑类及Python视频剪辑自动化
2020/12/18 Python
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
全球最大的生存食品、水和装备专用在线市场:BePrepared.com
2020/01/02 全球购物
C语言面试题
2015/10/30 面试题
护士自我评价范文
2014/01/25 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
谢师宴邀请函
2015/02/02 职场文书
如何写辞职信
2015/05/13 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL