一、Python queue

Python queue模块有三种队列:

1、FIFO队列先进先出。

2、LIFO类似于堆,即先进后出。

3、还有一种是优先级队列级别越低越先出来。

针对这三种队列分别有三个构造函数:

1、class Queue.Queue(maxsize) FIFO

2、class Queue.LifoQueue(maxsize) LIFO

3、class Queue.PriorityQueue(maxsize) 优先级队列

介绍一下此包中的常用方法:

Queue.qsize():返回队列的大小。

Queue.empty():如果队列为空,返回True,反之False。

Queue.full():如果队列满了,返回True,反之False。

Queue.get([block[, timeout]]):获取队列,timeout是等待时间;默认是阻塞,并且没有超时设置。

Queue.get_nowait():相当Queue.get(False),非阻塞。

Queue.put(item):写入队列,timeout等待时间;默认是阻塞,并且没有超时设置。

Queue.put_nowait(item):相当Queue.put(item, False),非阻塞。

Queue.task_done():在完成一项工作之后,Queue.task_done()函数向任务已经完成的队列发送一个信号。

Queue.join():实际上意味着等到队列为空,再执行别的操作。

创建一个“队列”对象

# Python2

import Queue

myqueue = Queue.Queue(maxsize = 10)

# Python3

import queue

q = queue.Queue(maxsize = 10)

1

2

3

4

5

6

7

# Python2

importQueue

myqueue=Queue.Queue(maxsize=10)

# Python3

importqueue

q=queue.Queue(maxsize=10)

Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。

将一个值放入队列中

q.put(10)

1

q.put(10)

调用队列对象的put()方法在队尾插入一个项目。put()有两个参数,第一个item为必需的,为插入项目的值;第二个block为可选参数,默认为1。如果队列当前为空且block为1,put()方法就使调用线程暂停,直到空出一个数据单元。如果block为0,put方法将引发Full异常。

将一个值从队列中取出

q.get()

1

q.get()

调用队列对象的get()方法从队头删除并返回一个项目。如果可选参数block是true,并且timeout是None,那么等到队列里面没有项时,会一直阻塞下去。如果block是true并且timeout为一个正数(单位是秒),那么在timeout秒之内没有可用的项获得,就会引发empty异常。如果block是false,那么不管timeout是多少,一旦没有可用项,就会引发空异常。

二、简单示例

>>> import queue

>>> q = queue.Queue(maxsize = 10)

>>> for i in range(9):

... q.put(i)

...

>>> while not q.empty():

... print(q.get())

...

0

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

>>>importqueue

>>>q=queue.Queue(maxsize=10)

>>>foriinrange(9):

...q.put(i)

...

>>>whilenotq.empty():

...print(q.get())

...

0

1

2

3

4

5

6

7

8

完结。。。

如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。

python queue函数_Python模块:queue相关推荐

  1. python hashlib函数_python模块——hashlib

    python模块--hashlib hashlib模块是对许多hash函数的一个公共接口 new(name, string = '')    执行给定的hash函数来返回一个新的hash对象,使用给定 ...

  2. python日历函数_Python—日历函数—日历模块的常用函数,calendar,常见

    Python-日历函数-日历模块的常用函数,calendar,常见 发表时间:2020-07-07 日历函数 calendar模块中提供了非常多的函数来处理年历和日历. 例如:打印2020年7月份的日 ...

  3. 机器学习之Python常用函数及模块整理

    机器学习之Python常用函数及模块整理 1. map函数 2. apply函数 3. applymap函数 4. groupby函数 5. agg函数 6. lambda函数 7. rank函数 8 ...

  4. python模块的函数_Python模块及函数的使用

    一. 1.模块是包含函数和其他语句的脚本文件,以".py"为后缀名,在Python中可以通过导入模块来使用模块中的函数或数据. 创建一个文件fun.py内容如下: def f1() ...

  5. python os函数_python os模块主要函数

    使用python提供的os模块,对文件和目录进行操作,重命名文件,添加,删除,复制目录以及文件等. 一.文件目录常用函数 在进行文件和目录操作时,一般会用到以下几种操作. 1.获得当前:路径 在pyt ...

  6. python 封装函数_python封装函数

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python函数教程函数本身其实就相当于一个集装箱,她负责把我们之前写的那些代码 ...

  7. python include函数_python 库函数

    python的内建函数和库函数的区别是什么? [区别]:标准库函数都需要import xxx才能取得.内建函数都在__builtins__里面,在global里直接就能用. [补充]:1.python ...

  8. python log函数_Python log10() 函数

    Python log10() 函数 描述 log10() 方法返回以10为基数的x对数. 语法 以下是 log10() 方法的语法:import math math.log10( x ) 注意:log ...

  9. python find函数_Python 速学!不懂怎么入门python的小白看这篇就够了!

    Python是一种非常流行的脚本语言,而且功能非常强大,几乎可以做任何事情,比如爬虫.网络工具.科学计算.树莓派.Web开发.游戏等各方面都可以派上用场.同时无论在哪种平台上,都可以用 Python ...

最新文章

  1. 联想计算机农村,农村的联想
  2. js中比较时间字串大小
  3. Charles抓包工具_基本功能
  4. poj 2485 Highways prim最小生成树 基础 球最小生成树中得最大边
  5. 华为交换机查看发光收光
  6. 翻译:算法常见的模数1000000007 模数10 ^ 9 + 7
  7. 2022华为软件精英挑战赛比赛经历
  8. 访问图像元素(imagedata widthstep)
  9. 网络收藏夹--用来收藏我经常访问的网站
  10. 阿里java面试流程_阿里巴巴JAVA开发工程师面试经验
  11. Java为PDF文档加密
  12. 知数堂MySQL DBA在线培训第八期招生中
  13. 体积小性能强悍能吃鸡的电脑主机 NUC8I7HVK
  14. 主成分分析——PCA
  15. 二进制与十进制间的转化
  16. 面部清洁湿巾行业现状调研及趋势分析报告
  17. a king读后感 love of the_作业:读后感~Love, The One Creative Force~
  18. PID调节之比例(P)调节
  19. 【知识梳理】白话一下大数据治理、Hadoop生态的事情,给只想浅了解的同学参考下
  20. 三极管共集共射共基电路区分

热门文章

  1. 计算机文字录入培训大纲,《计算机文字录入》课程教学大纲
  2. 关于开源产业的5个真相
  3. 创建sdcard.img时,提示permission dennid
  4. 制作CentOS 5.9自动安装光盘iso镜像
  5. 你的电脑已经成为肉鸡的六种现象
  6. 实例3 输出由“*”组成的三角形
  7. 面试题目整理--逻辑
  8. 《DSP using MATLAB》示例Example 8.10
  9. 紫书搜索 习题7-4 UVA - 818 Cutting Chains 暴力+dfs判环+位运算
  10. pygame写的弹力球