一.queue队列

1.python3中的队列模块是queue,不是Queue

2.一般涉及到同步,多线程之类用到队列模块

3.定义了 queue.Queue 类,以及继承它的 queue.LifoQueue 类 和 queue.PriorityQueue 类 和 queue.SimpleQueue 类

4.分别对应队列类(FIFO先进先出),LIFO后进先出队列类,优先队列,无边界FIFO简单队列类

5.还有两个异常:对满和队空

二.队列queue公共方法

  1. import queue
  2.  
  3. #创建基本队列
  4. #queue.Queue(maxsize=0)创建一个队列对象(队列容量),若maxsize小于或者等于0,队列大小没有限制
  5. Q=queue.Queue(10)
  6. print(Q)
  7. print(type(Q))
  8.  
  9. #1.基本方法
  10. print(Q.queue)#查看队列中所有元素
  11. print(Q.qsize())#返回队列的大小
  12. print(Q.empty())#判断队空
  13. print(Q.full())#判断队满
  14.  
  15. #2.获取队列,0--5
  16. #Queue.put(item,block = True,timeout = None )将对象放入队列,阻塞调用(block=False抛异常),无等待时间
  17. for i in range(5):
  18. Q.put(i)
  19. # Queue.put_nowait(item)相当于 put(item, False).
  20.  
  21. #3.读队列,0--5
  22. #Queue.get(block=True, timeout=None)读出队列的一个元素,阻塞调用,无等待时间
  23. while not Q.empty():
  24. print(Q.get())
  25. # Queue.get_nowait()相当于get(False).取数据,如果没数据抛queue.Empty异常
  26.  
  27. #4.另两种涉及等待排队任务的方法
  28. # Queue.task_done()在完成一项工作后,向任务已经完成的队列发送一个信号
  29. # Queue.join()阻止直到队列中的所有项目都被获取并处理。即等到队列为空再执行别的操作

queue

三.其他

1.LifoQueue: LIFO后进先出

2.PriorityQueue:优先级队列,如果数据元素不具有可比性,则可将数据包装在忽略数据项的类中,仅比较优先级编号

3.SimpleQueue:简单队列,无跟踪任务的功能

python3 queue队列的更多相关文章

  1. Python3 queue队列类

    class queue.PriorityQueue(maxsize=0) 优先级队列构造函数. maxsize 是个整数,用于设置可以放入队列中的项目数的上限.当达到这个大小的时候,插入操作将阻塞至队 ...

  2. Python自动化运维之16、线程、进程、协程、queue队列

    一.线程 1.什么是线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位. 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行 ...

  3. Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块

    Python第十五天  datetime模块 time模块   thread模块  threading模块  Queue队列模块  multiprocessing模块  paramiko模块  fab ...

  4. python2.0_s12_day9之day8遗留知识(queue队列&生产者消费者模型)

    4.线程 1.语法 2.join 3.线程锁之Lock\Rlock\信号量 4.将线程变为守护进程 5.Event事件 * 6.queue队列 * 7.生产者消费者模型 4.6 queue队列 que ...

  5. 多进程 multiprocessing 模块进程并发Process;Pool ;Queue队列 、threading模块;

    multiprocessing 模块中的 Process类提供了跨平台的多进程功能,在windows和linux系统都可以使用. 1.首先要实例化一个类,传入要执行的函数. 实例名 = Process ...

  6. C#基础---Queue(队列)的应用

       Queue队列,特性先进先出. 在一些项目中我们会遇到对一些数据的Check,如果数据不符合条件将会把不通过的信息返回到界面.但是对于有的数据可能会Check很多条件,如果一个数据一旦很多条件不 ...

  7. 第19章 queue队列容器

    /* 第19章 queue队列容器 19.1 queue技术原理 19.2 queue应用基础 19.3 本章小结 */ // 第19章 queue队列容器 // 19.1 queue技术原理 // ...

  8. atitit. java queue 队列体系and自定义基于数据库的队列总结o7t

    atitit. java queue 队列体系and自定义基于数据库的队列总结o7t 1. 阻塞队列和非阻塞队列 1 2. java.util.Queue接口, 1 3. ConcurrentLink ...

  9. C#部分---特殊集合:stack栈集合、queue队列集合、哈希表集合。

    1.stack栈集合:又名 干草堆集合 栈集合 特点:(1)一个一个赋值 一个一个取值(2)先进后出实例化 初始化 Stack st = new Stack(); //添加元素用push st.Pus ...

随机推荐

  1. WARNING:Your password has expired --linux 用户密码过期

    今天在ssh 提示  WARNING:Your password has expired 设置用户到期时间 chage -M 36000 用户名 chage -l 用户名 #查看用户信息

  2. python:使用Djangorestframework编写post和get接口

    1.安装django pip install django 2.新建一个django工程 python manage.py startproject cainiao_monitor_api 3.新建一 ...

  3. Deploy != Release(第一部分):部署与发布的区别,以及为什么这很重要

    原文地址:http://ju.outofmemory.cn/entry/351873 翻译自: Deploy != Release (Part 1): The difference between d ...

  4. mongoDB杂项

    密码更改:db.changeUserPassword('tank2','test'); 在这里我遇到了一个问题: mongod: error while loading shared librarie ...

  5. linux U盘 硬盘 unable to mount

    转自aaa小菜鸡 出现原因: 上次文件没拷完就拔了U盘 参考: 解决Ubuntu挂载U盘失败的解决方法 Linux下无法挂载U盘 解决: 1.sudo fdisk -l列出当前系统下的文件设备 2.s ...

  6. FineUI window弹层设置

    需在页面先设置   <f:Window ID="Window1" runat="server" Height="600px" Widt ...

  7. 【转帖】vim/sed/awk/grep等文件批处理总结

    vim/sed/awk/grep等文件批处理总结 https://www.cnblogs.com/cangqiongbingchen/p/9760544.html Vim相关操作 1.基础 * 和 # ...

  8. springboot2.1.8使用poi导出数据生成excel(.xlsx)文件

    前言:在实际开发中经常需要将数据库的数据导出成excel文件,poi方式则是其中一种较为常用的导出框架.简单读取excel文件在之前的一篇有说明 本项目实现需求:user发出一个导出student信息 ...

  9. python使用matplotlib在一个图形中绘制多个子图以及一个子图中绘制多条动态折线问题

    在讲解绘制多个子图之前先简单了解一下使用matplotlib绘制一个图,导入绘图所需库matplotlib并创建一个等间隔的列表x,将[0,2*pi]等分为50等份,绘制函数sin(x).当没有给定x ...

  10. Typora语法使用说明

    目录 文本 标题 超链接 锚点 列表 引用 插入图片 脚注 代码 LaTex公式 插入表情 任务列表 高亮 注脚 文本 代码: *斜体* **粗体** ***斜体加粗体*** ~~删除线~~ < ...