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 相关文章推荐
pymongo为mongodb数据库添加索引的方法
May 11 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
Jul 02 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
python opencv3实现人脸识别(windows)
May 25 Python
详解Python数据分析--Pandas知识点
Mar 23 Python
python opencv实现图像边缘检测
Apr 29 Python
python导入pandas具体步骤方法
Jun 23 Python
pip安装python库的方法总结
Aug 02 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
Python中socket网络通信是干嘛的
May 27 Python
python中什么是面向对象
Jun 11 Python
Python 内存管理机制全面分析
Jan 16 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中fsockopen用法实例
2015/01/05 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
浅谈php中include文件变量作用域
2015/06/18 PHP
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
PHP 无限级分类
2017/05/04 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
基于JQuery框架的AJAX实例代码
2009/11/03 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
简介Django框架中可使用的各类缓存
2015/07/23 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
Python pickle模块实现对象序列化
2019/11/22 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
python中np是做什么的
2020/07/21 Python
python如何实时获取tcpdump输出
2020/09/16 Python
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
12月小学生校园广播稿
2014/02/04 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
秋游活动策划方案
2014/02/16 职场文书
家教广告词
2014/03/19 职场文书
幼儿园老师寄语
2014/04/03 职场文书
会计专业自荐信
2014/06/03 职场文书
先进个人事迹材料
2014/12/29 职场文书
雨雪天气温馨提示
2015/07/15 职场文书