原文:https://www.cnblogs.com/CongZhang/p/5274486.html

queue介绍

  • queue是python中的标准库,俗称队列,可以直接import 引用,在python2.x中,模块名为Queue
  • 在python中,多个线程之间的数据是共享的,多个线程进行数据交换的时候,不能够保证数据的安全性和一致性,所以当多个线程需要进行数据交换的时候,队列就出现了,队列可以完美解决线程间的数据交换,保证线程间数据的安全性和一致性

queue模块有三种队列及构造函数:

  1. Python queue模块的FIFO队列先进先出。 class queue.Queue(maxsize)
  2. LIFO类似于堆,即先进后出。 class queue.LifoQueue(maxsize)
  3. 还有一种是优先级队列级别越低越先出来。 class queue.PriorityQueue(maxsize)

queue模块中的常用方法:

  • queue.qsize() 返回队列的大小
  • queue.empty() 如果队列为空,返回True,反之False
  • queue.full() 如果队列满了,返回True,反之False
  • queue.full 与 maxsize 大小对应
  • 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() 实际上意味着等到队列为空,再执行别的操作

最新文章

  1. 字符串匹配算法 - KMP
  2. XE5 修复 安卓 输入法隐藏 后 无法退出的问题 3.2
  3. java中常用的工具类(一)
  4. Hadoop数据读写原理
  5. C++函数内存占用
  6. Load Balancing 折半枚举大法好啊
  7. OC5_Block
  8. Linq to SQL 绑定 ComboBox
  9. HDU5627--Clarke and MST (bfs+位运算)
  10. 谁动了我的timer?——C#的垃圾回收和调试
  11. ASA基本配置
  12. Shark集群搭建配置
  13. quagga源码分析--通用库command
  14. 软件测试作业1 — 令我印象最深的BUG
  15. Cacti在selinux开启的情况下使用
  16. 【JZOJ4307】喝喝喝
  17. python粗谈面向对象(一)
  18. [转]NSIS 制作安装包无法创建桌面快捷方式或无法删除开始菜单项
  19. java jar 后台运行
  20. [CQOI2018]交错序列

热门文章

  1. Tomcat入门
  2. Keras分类问题
  3. 【慕课网实战】Spark Streaming实时流处理项目实战笔记一之铭文升级版
  4. ★ prototype、__proto__ 详解
  5. 笔记 Bioinformatics Algorithms Chapter7
  6. day29(对象转xml(使用java))
  7. linux下的各个目录(待填)
  8. (求凹包) Bicycle Race (CF 659D) 简单题
  9. Alpha阶段敏捷冲刺(二)
  10. noip第19课作业