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的random模块及加权随机算法的python实现方法
Jan 04 Python
Django rest framework基本介绍与代码示例
Jan 26 Python
python写一个md5解密器示例
Feb 23 Python
深入浅析python with语句简介
Apr 11 Python
python调用xlsxwriter创建xlsx的方法
May 03 Python
python3实现域名查询和whois查询功能
Jun 21 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
May 29 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
Dec 09 Python
python能做哪些生活有趣的事情
Sep 09 Python
Python collections模块的使用方法
Oct 09 Python
python爬虫筛选工作实例讲解
Nov 23 Python
Python中的min及返回最小值索引的操作
May 10 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
3.从实例开始
2006/10/09 PHP
逐步提升php框架的性能
2008/01/10 PHP
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
php判断当前操作系统类型
2015/10/28 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
laravel框架分组控制器和分组路由实现方法示例
2020/01/25 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
js实现使用鼠标拖拽切换图片的方法
2015/05/04 Javascript
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
vue+php实现的微博留言功能示例
2019/03/16 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
python中装饰器级连的使用方法示例
2017/09/29 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
解决python线程卡死的问题
2019/02/18 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
国外软件测试工程师面试题
2016/12/09 面试题
什么是岗位职责
2013/11/12 职场文书
办公自动化专业大学生职业规划书
2014/03/06 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
认错检讨书
2014/10/02 职场文书
男方婚礼答谢词
2015/01/20 职场文书
2015毕业实习推荐信
2015/03/23 职场文书