美文网首页
Python queue结构官方文档解读

Python queue结构官方文档解读

作者: 拜仁的月饼 | 来源:发表于2019-05-15 19:48 被阅读0次

队列:是线性表的一种。使用队列存取数据元素时,数据元素只能从表的一端进入队列,另一端出队列。幸运的是,在Python标准库中,有一个标准库queue可以实现以上数据结构。

简介

queue(队列)是Python的一个标准库,其用法在official documentation中有详细介绍。现总结如下:

首先,queue适用于多线程编程,处理多线程能力极佳。

Python中的queue包括三种:

  • FIFO queue:即“先进先出”队列,标准队列类型
  • LIFO queue:LIFO的意思是“后进先出”,可以用来实现“栈”
  • priority queue:优先级队列。队列中所有元素已经排序好了,值最小的先出

实现方法如下:

  1. FIFO queue

queue.Queue(maxsize = 0)

即标准队列。其中有一个可选参数:maxize,可以设置入队元素最多有几个(maxsize个)。如果maxsize <= 0或者不填,那么maxsize即无穷(infinite)。

  1. LIFO queue :

queue.LifoQueue(maxsize = 0)

即“后进先出”队列。参数同上。同样的,如果maxsize <= 0,那么maxsize无穷。

  1. priority queue

queue.PriorityQueue(maxsize = 0)

可以创建一个优先级队列,省得排序了。

  1. 在Python 3.7.+ 版本中又引入了一个新的结构:SimpleQueue
queue.SimpleQueue()

构造一个maxsize = 0的FIFO队列。只有Python 3.7以上版本支持。

操作方法

  1. Queue.qsize()
    返回队列的实际大小。

  2. Queue.empty()
    如果队列是空的,则返回True,否则返回False。

  3. Queue.full()
    如果队列是满载的,则返回True,否则返回False。

  4. Queue.put_nowait(item)
    将元素放到队列中。等同于Queue.put(item,False)

  5. Queue.get_nowait()
    将元素移出队列并返回,等于Queue.get(False)

以下方法运用于多线程编程中:

  1. Queue.put(item, block = True, timeout = None)
    将元素放到队列中。运用于线程编程中

  2. Queue.get(block = True, timeout = None)
    将元素移出队列,运用于线程编程中。

  3. Queue.task_done()
    表示待入队的任务已经完成,运用于线程编程中。

  4. Queue.join()
    暂不太懂,待更新。

在Simple_Queue中,除了task_done()和join()两个方法,其他的都支持。

相关文章

  • Python queue结构官方文档解读

    队列:是线性表的一种。使用队列存取数据元素时,数据元素只能从表的一端进入队列,另一端出队列。幸运的是,在Pytho...

  • iOS Audio Queue的使用

    Audio Queue介绍 苹果官方文档解释Audio Queue如下: Overview This docume...

  • 关于AudioQueue的一些知识

    什么是Audio Queue Services? 官方文档是这么介绍的: Audio Queue Services...

  • python官方中文文档有了

    Python 官方文档终于发布中文版了! python官方中文文档地址:https://docs.python.o...

  • RabbitMQ入门简介

    官方文档:https://www.rabbitmq.com/getstarted.html 队列Queue 订阅消...

  • Storm组件

    参考文章: Apache Storm 官方文档中文版 storm Tutorial 的解读 + 个人理解 官方文档...

  • uwsgi 配置

    先贴个官方文档安装python , 及虚拟环境, django 等还要安装uwsgi 现在先贴下现有项目目录结构 ...

  • iOS音频系列(三)--AudioQueue

    本篇是AudioQueue的官方文档的笔记。Audio Queue Services可以play和record以下...

  • 我的python学习笔记

    注:主要学习版本为python3,先挖坑再说 Python基础 python官方文档3.5 英文Python 官方...

  • python

    官方文档 https://docs.python.org/3.7/ 中文文档: http://www.python...

网友评论

      本文标题:Python queue结构官方文档解读

      本文链接:https://www.haomeiwen.com/subject/dcjpaqtx.html