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 MD5文件生成码
Jan 12 Python
使用Python进行稳定可靠的文件操作详解
Dec 31 Python
Python中的index()方法使用教程
May 18 Python
Python打包可执行文件的方法详解
Sep 19 Python
python中Switch/Case实现的示例代码
Nov 09 Python
Python实现字典按照value进行排序的方法分析
Dec 23 Python
使用numba对Python运算加速的方法
Oct 15 Python
详解python配置虚拟环境
Apr 08 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
PyTorch的深度学习入门之PyTorch安装和配置
Jun 27 Python
Python post请求实现代码实例
Feb 28 Python
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 15 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
MYSQL 小技巧 -- LAST_INSERT_ID
2009/11/24 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
php 读取文件头判断文件类型的实现代码
2013/08/05 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
prototype Element学习笔记(篇一)
2008/10/26 Javascript
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
js导出txt示例代码
2014/01/14 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
Html5 js实现手风琴效果
2020/04/17 Javascript
原生js实现下拉框功能(支持键盘事件)
2017/01/13 Javascript
Vue组件通信实践记录(推荐)
2017/08/15 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
pyshp创建shp点文件的方法
2018/12/31 Python
Python子类继承父类构造函数详解
2019/02/19 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
python中threading开启关闭线程操作
2020/05/02 Python
基于keras中的回调函数用法说明
2020/06/17 Python
python中的时区问题
2021/01/14 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
优秀毕业生找工作自荐信
2014/06/23 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
婚礼父母致辞
2015/07/28 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python