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中关于使用模块的基础知识
May 24 Python
Python基于smtplib实现异步发送邮件服务
May 28 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
Python中Scrapy爬虫图片处理详解
Nov 29 Python
对Python的zip函数妙用,旋转矩阵详解
Dec 13 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
Feb 21 Python
python与字符编码问题
May 24 Python
Python使用线程来接收串口数据的示例
Jul 02 Python
python实现从尾到头打印单链表操作示例
Feb 22 Python
Python 给下载文件显示进度条和下载时间的实现
Apr 02 Python
python框架flask入门之环境搭建及开启调试
Jun 07 Python
为什么python比较流行
Jun 19 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接口和抽象类使用示例详解
2014/03/02 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
2019/01/15 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
关于js里的this关键字的理解
2015/08/17 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
优化Python代码使其加快作用域内的查找
2015/03/30 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
一百多行python代码实现抢票助手
2018/09/25 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
货代行业个人求职简历的自我评价
2013/10/22 职场文书
大学毕业感言一句话
2014/02/06 职场文书
学生会部长竞聘书
2014/03/31 职场文书
投资合作协议书范本
2014/04/17 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
2015年三万活动总结
2015/03/25 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
python正则表达式re.search()的基本使用教程
2021/05/21 Python