# 队列 一种数据结构(多线程利器)
import queue  # 导入对列模块

q = queue.Queue()  # 创建一个对列对象,先进先出
# q = queue.Queue(3)   # 创建一个对列对象,3表示队列中只能有3个值
# q = queue.LifoQueue()    # 创建一个对列对象,后进先出
# q = queue.PriorityQueue   # 创建一个对列对象,以优先级来出,优先级越低的先出

q.put(12)  # 向对列中放入值
q.put('hello')
q.put({'name': 'alex'})
q.put([1, 2], block=False)  # 加了False或block=False参数,表示队列满了情况再put就会报错,相当于q.put_nowait([1, 2])# 优先级模式的队列加入值
# q.put([1, 12])  # 向对列中放入值,列表的第一个值为优先级数字
# q.put([5, 'hello'])
# q.put([3, {'name': 'alex'}])# queue中的方法
print(q.qsize())  # 获得队列中有几个值
print(q.empty())  # 队列是否为空
print(q.full())  # 队列是否已满# q.task_done()  # 在完成一项式作之后,q.task_done()函数向任务已经完成的队列发送一个信号
# q.join()  # 等到队列为空,再执行别的操作while True:data = q.get()  # 如果在get()中加了block=False,或False,当队列为空再取值时会报错,相当于q.get_nowait()print(data)print('-------------')# 12# -------------# hello# -------------# {'name': 'alex'}# -------------# 这时程序还没结束,在q.get()这里等待其它线程往里加入数据来取出

转载于:https://www.cnblogs.com/dangrui0725/p/9498632.html

队列 一种数据结构(多线程利器)相关推荐

  1. Java实现单链表、栈、队列三种数据结构

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:远航 cnblogs.com/yang-guang- ...

  2. java 栈_Java实现单链表、栈、队列三种数据结构

    作者:远航 cnblogs.com/yang-guang-zhang/p/13884023.html 一.单链表 1.在我们数据结构中,单链表非常重要.它里面的数据元素是以结点为单位,每个结点是由数据 ...

  3. 每个程序员都必须知道的 8 种数据结构

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 快速介绍8种数据结构 数据结构是一种特殊的组织和存储数据的方式,可 ...

  4. 每个程序员都必须知道的8种数据结构

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | http://suo.im/6oo92L 快速 ...

  5. 面试:整理面试中常被问到的8种数据结构

    数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作.数据结构在计算机科学和软件工程领域具有广泛而多样的用途. 几乎所有已开发的程序或软件系统都使用数据结构.此外,数据 ...

  6. Redis入门总结(一):redis配置文件,五种数据结构,线程模型和持久化方式

    (尊重劳动成果,转载请注明出处:https://yangwenqiang.blog.csdn.net/article/details/90321396冷血之心的博客) 关注微信公众号(文强的技术小屋) ...

  7. redis hash删除所有key_一文详解Redis面试中常见的5种数据结构及对应使用场景

    欢迎关注专栏<Java架构筑基>--专注于Java技术的研究与分享! Java架构筑基​zhuanlan.zhihu.com Java架构筑基--专注于Java技术的研究与分享! 后续文章 ...

  8. 年后跳槽BAT必看:10种数据结构、算法和编程课助你面试通关

    作者 | javinpaul 译者 | 大鱼 编辑 | 一一 出品 | AI 科技大本营 进入 BAT 这样的巨头企业工作,无疑是很多程序员的梦想.但事实上,能通过这些公司高难度编程面试的只是一小撮人 ...

  9. 万字长文的Redis五种数据结构详解(理论+实战),建议收藏。

    本文脑图 前言 Redis是基于c语言编写的开源非关系型内存数据库,可以用作数据库.缓存.消息中间件,这么优秀的东西一定要一点一点的吃透它. 关于Redis的文章之前也写过三篇,阅读量和读者的反映都还 ...

最新文章

  1. joc杂志影响因子2019_2019年放射学领域SCI主要杂志影响因子汇总
  2. 架构体系需要进一步研究探索的V2路线图
  3. Nginx/LVS/HAProxy 负载均衡软件的优缺点详解
  4. 关于指针的一点小的理解
  5. 三套JSP源代码的安装部署过程和遇到的问题图解
  6. 第十二届蓝桥杯大赛软件赛省赛 C/C++ 大学B组
  7. js 取得数组下标_数组的介绍及使用
  8. php将get传参解析成数组,php解析url (parse_url) 参数成数组 (parse_str)
  9. Android -- 开机启动无界面后台程序
  10. 【报告分享】后疫情时代第一个消费狂欢:品牌如何转型与突围.pdf(附下载链接)...
  11. @HTML.RadioButtonFor和@Html.DropDownList用法
  12. 理解unittest(六)
  13. Bregman 散度
  14. java中的抽象工厂模式
  15. 汽车UDS诊断之控制诊断故障码设置服务(0x85)深度剖析
  16. 【日常技巧】Rufus安装原版win10教程(全流程)
  17. Elasticsearch 带中文分词的全文检索(分页+高亮返回)
  18. 好文分享:一切都是最好的安排
  19. java pdf 插入图片_java在pdf模板的指定位置插入图片
  20. 手机内存卡丢失数据怎么恢复

热门文章

  1. python win32转pdf 横版_使用Python3将word文档和pdf电子书进行格式互转(兼容Windows/Linux)...
  2. matlab中antoine方程应用,Antoine方程 安托因方程
  3. mybatis传set参数
  4. 《编译原理》实验教学大纲
  5. 权重随机算法的java实现
  6. 看完这篇,你应该知道什么是Linux了~
  7. IDEA下用SBT搭建Spark Helloworld
  8. TensorFlow学习笔记(十四)TensorFLow 用mnist数据做classification
  9. ElasticSearch5.3插件开发(二)获取集群健康信息
  10. Intellij Idea 多模块Maven工程中模块之间无法相互引用问题