队列 一种数据结构(多线程利器)
# 队列 一种数据结构(多线程利器) 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
队列 一种数据结构(多线程利器)相关推荐
- Java实现单链表、栈、队列三种数据结构
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:远航 cnblogs.com/yang-guang- ...
- java 栈_Java实现单链表、栈、队列三种数据结构
作者:远航 cnblogs.com/yang-guang-zhang/p/13884023.html 一.单链表 1.在我们数据结构中,单链表非常重要.它里面的数据元素是以结点为单位,每个结点是由数据 ...
- 每个程序员都必须知道的 8 种数据结构
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 快速介绍8种数据结构 数据结构是一种特殊的组织和存储数据的方式,可 ...
- 每个程序员都必须知道的8种数据结构
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | http://suo.im/6oo92L 快速 ...
- 面试:整理面试中常被问到的8种数据结构
数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作.数据结构在计算机科学和软件工程领域具有广泛而多样的用途. 几乎所有已开发的程序或软件系统都使用数据结构.此外,数据 ...
- Redis入门总结(一):redis配置文件,五种数据结构,线程模型和持久化方式
(尊重劳动成果,转载请注明出处:https://yangwenqiang.blog.csdn.net/article/details/90321396冷血之心的博客) 关注微信公众号(文强的技术小屋) ...
- redis hash删除所有key_一文详解Redis面试中常见的5种数据结构及对应使用场景
欢迎关注专栏<Java架构筑基>--专注于Java技术的研究与分享! Java架构筑基zhuanlan.zhihu.com Java架构筑基--专注于Java技术的研究与分享! 后续文章 ...
- 年后跳槽BAT必看:10种数据结构、算法和编程课助你面试通关
作者 | javinpaul 译者 | 大鱼 编辑 | 一一 出品 | AI 科技大本营 进入 BAT 这样的巨头企业工作,无疑是很多程序员的梦想.但事实上,能通过这些公司高难度编程面试的只是一小撮人 ...
- 万字长文的Redis五种数据结构详解(理论+实战),建议收藏。
本文脑图 前言 Redis是基于c语言编写的开源非关系型内存数据库,可以用作数据库.缓存.消息中间件,这么优秀的东西一定要一点一点的吃透它. 关于Redis的文章之前也写过三篇,阅读量和读者的反映都还 ...
最新文章
- joc杂志影响因子2019_2019年放射学领域SCI主要杂志影响因子汇总
- 架构体系需要进一步研究探索的V2路线图
- Nginx/LVS/HAProxy 负载均衡软件的优缺点详解
- 关于指针的一点小的理解
- 三套JSP源代码的安装部署过程和遇到的问题图解
- 第十二届蓝桥杯大赛软件赛省赛 C/C++ 大学B组
- js 取得数组下标_数组的介绍及使用
- php将get传参解析成数组,php解析url (parse_url) 参数成数组 (parse_str)
- Android -- 开机启动无界面后台程序
- 【报告分享】后疫情时代第一个消费狂欢:品牌如何转型与突围.pdf(附下载链接)...
- @HTML.RadioButtonFor和@Html.DropDownList用法
- 理解unittest(六)
- Bregman 散度
- java中的抽象工厂模式
- 汽车UDS诊断之控制诊断故障码设置服务(0x85)深度剖析
- 【日常技巧】Rufus安装原版win10教程(全流程)
- Elasticsearch 带中文分词的全文检索(分页+高亮返回)
- 好文分享:一切都是最好的安排
- java pdf 插入图片_java在pdf模板的指定位置插入图片
- 手机内存卡丢失数据怎么恢复
热门文章
- python win32转pdf 横版_使用Python3将word文档和pdf电子书进行格式互转(兼容Windows/Linux)...
- matlab中antoine方程应用,Antoine方程 安托因方程
- mybatis传set参数
- 《编译原理》实验教学大纲
- 权重随机算法的java实现
- 看完这篇,你应该知道什么是Linux了~
- IDEA下用SBT搭建Spark Helloworld
- TensorFlow学习笔记(十四)TensorFLow 用mnist数据做classification
- ElasticSearch5.3插件开发(二)获取集群健康信息
- Intellij Idea 多模块Maven工程中模块之间无法相互引用问题