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 相关文章推荐
解决python2.7用pip安装包时出现错误的问题
Jan 23 Python
对python3 一组数值的归一化处理方法详解
Jul 11 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
解决python中 f.write写入中文出错的问题
Oct 31 Python
浅析python中while循环和for循环
Nov 19 Python
Python箱型图处理离群点的例子
Dec 09 Python
python程序需要编译吗
Jun 19 Python
Tensorflow使用Anaconda、pycharm安装记录
Jul 29 Python
Python3爬虫关于识别点触点选验证码的实例讲解
Jul 30 Python
python 基于PYMYSQL使用MYSQL数据库
Dec 24 Python
Python3+Django get/post请求实现教程详解
Feb 16 Python
Python Matplotlib绘制条形图的全过程
Oct 24 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
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
PHP数字金额转换成中文大写显示
2019/01/05 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
5 cool javascript apps
2007/03/24 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
javascript椭圆旋转相册实现代码
2012/01/16 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
JavaScript禁止复制与粘贴的实现代码
2016/05/16 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
自定义javascript验证框架示例【附源码下载】
2019/05/31 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
Python面向对象编程基础实例分析
2020/01/17 Python
浅谈Tensorflow 动态双向RNN的输出问题
2020/01/20 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
Python实现验证码识别
2020/06/15 Python
python安装后的目录在哪里
2020/06/21 Python
python实现图片素描效果
2020/09/26 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
最新远光软件笔试题面试题内容
2013/11/08 面试题
Unix控制后台进程都有哪些进程
2016/09/22 面试题
自荐信怎么写呢?
2013/12/09 职场文书
优秀老师事迹材料
2014/02/05 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
保洁员岗位职责
2015/02/04 职场文书
2015年小学语文教学工作总结
2015/05/25 职场文书
小学数学新课改心得体会
2016/01/22 职场文书