Python多任务编程-09队列Queue

news2025/1/30 16:25:07

程序中的定义:一种特殊的存储数据的方式,可以实现先存入的数据,先出去

1.程序中的队列Queue FIFO(first in first out先进先出)

import queue


q = queue.Queue()
q.put("22")
q.put(500)
q.put({"num":100})

print(q.get())
print(q.get())
print(q.get())

输出结果如下:

2.堆栈Queue  LIFO(后进先出),且可以存放任意数据类型。

示例代码如下:

import queue


q = queue.LifoQueue()
q.put("little")
q.put(480)
q.put({"num": 798})

print(q.get())
print(q.get())
print(q.get())

输出结果如下:

3. 优先级Queue

放的时候需要放元组,第一个元素表示优先级,数字越小,优先级越高。

第二个元素表示要存放的元素。

示例代码如下:

import queue

q = queue.PriorityQueue()
q.put((10,"qq"))
q.put((60,"tt"))
q.put((30,"ee"))
print(q.get())
print(q.get())
print(q.get())

输出结果如下所示:

小结:

1.队列Queue FIFO(先进先出)可以存放不同的数据类型,使用put放数据,使用get取数据,如果此时队列中没有数据。会出现堵塞。

2. 堆栈Queue LIFO(Last in first out)后进后出。可以存放不同的数据类型,使用get取数据,如果此时队列中没有数据。会出现堵塞。

3.优先级Queue   根据优先级确定要获取的数据,使用put存放,将一个元组存放到里面。

第一个元素表示:优先级,数字越小优先级越高。

第二个元素表示:需要存放的数据。

使用get来获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1329734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker——微服务的部署

Docker——微服务的部署 文章目录 Docker——微服务的部署初识DockerDocker与虚拟机Docker架构安装DockerCentOS安装Docker卸载(可选)安装docker启动docker配置镜像加速 Docker的基本操作Docker的基本操作——镜像Docker基本操作——容器Docker基本操作—…

gem5 garnet 拓扑结构之port: NI CPU ROUTER L1 L2

简介 有Crossbar,CrossbarGarnet,Mesh_*,MeshDirCorners_XY,Pt2Pt等拓扑结构,我们主要关注mesh-xy。参考是https://www.gem5.org/documentation/general_docs/ruby/interconnection-network/ MESI TWO LEVEL与 mesh …

使用Docker-镜像命令

镜像名称一般分两部分组成:[repository]:[tag] 在没有指定tag时,默认是latest,代表最新版本的镜像 目录 案例一:从DockerHub中拉取一个nginx镜像并查看 1.1. 首先去镜像仓库搜索nginx镜像,比如DockerHub ​编辑 1.2.操作拉取n…

iOS 开发设计 App 上架符合要求的截图

1. 真机运行截屏 2. 可以在 Apple developer 官网 Design 下找到 iPhone 边框 https://developer.apple.com/design/resources/ 不用这个边框也行,可以参考已上架 App 的图片框 3. 使用 Procreate(PhotoShop)创建符合要求的画布大小 4. 导入…

论文阅读——BLIP-2

BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models 1 模型 在预训练视觉模型和预训练大语言模型中间架起了一座桥梁。两阶段训练,视觉文本表示和视觉到语言生成学习。 Q-Former由两个转换器子模块组成&am…

elementUI CDN引入本地文件报错,刷新页面报错

报错原因:vue.config.js的externals 配置中有外部cdn引入配置,而当前场景我的element是直接下载放在本地的,这时就需要将配置注释或者删除 webpack 中的 externals 配置项用于指定在打包时需要排除掉的模块,这些模块会被视为外部依…

深入解析Python装饰器及*args, **kwargs的妙用

深入解析Python装饰器及*args, **kwargs的妙用 简介: ​ 装饰器(Decorator)是 Python 中一种强大的语法特性,它允许在不修改原始函数代码的情况下,动态地扩展函数的功能。装饰器是函数或类,用于包装其他函…

One Wire协议应用篇(c语言板)

一.项目简介 利用DS18B20实时检测温度并显示在LCD1602显示屏上,同时可以通过K1,K2,K3,K4设置最高温度和最低温度利用AT24C02可以实现掉电不丢失,最后当检测温度大于或小于最高温时,会在LCD1602显示屏上显示OV:H或OV:L。 二.准备材料 AT89C52、…

扩展检测和响应:零信任安全的核心要素

面对不断增长的攻击面,扩展和增强威胁检测和响应能力是XDR在安全功效方面的主要结果。这一成果不仅有助于全面保护,而且有助于更好地实施零信任安全。 默认情况下,这种方法不信任任何用户或任何设备,只允许访问需要的资源。为了更…

智能优化算法应用:基于人工大猩猩部队算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于人工大猩猩部队算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于人工大猩猩部队算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工大猩猩部队算法4.实验参…

分布式搜索elasticsearch概念

什么是elasticsearch? elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容 目录 elasticsearch的场景 elasticsearch的发展 Lucene篇 Elasticsearch篇 elasticsearch的安装 elasticsearch的场景 elasticsear…

python画图【00】Anaconda和Pycharm和jupyter的使用

①Anaconda ②Pycharm 一、Anaconda安装步骤 1、双击安装包,点击next。 2、点我同意I agree 3、 4、选择需要安装的位置,位置可根据自己情况安装到具体位置,但要记住安装到了哪里。然后点击next 5、可选择加入到环境变量,…

C# 判断两个时间段是否重叠

public static bool IsOverlap(DateTime startTime1, DateTime endTime1, DateTime startTime2, DateTime endTime2){// 判断两个时间段是否有重叠return !(endTime1 < startTime2 || startTime1 > endTime2);//根据德摩根定律&#xff0c;等效为&#xff1a;endTime1 &g…

如何通过蓝牙串口启动智能物联网?

1、低功耗蓝牙(BLE)介绍 BLE 技术是一种低成本、短距离、可互操作的鲁棒性无线技术&#xff0c;工作在免许可的 2,4 GHZ 工业、科学、医学(Industrial Scientific Medical&#xff0c;ISM)频段。BLE在设计之初便被定位为一种超低功耗(Ultra Low Power&#xff0c;ULP)无线技术&…

Apache Flink 进阶教程(六):Flink 作业执行深度解析

目录 前言 Flink 四层转化流程 Program 到 StreamGraph 的转化 StreamGraph 到 JobGraph 的转化 为什么要为每个 operator 生成 hash 值&#xff1f; 每个 operator 是怎样生成 hash 值的&#xff1f; JobGraph 到 ExexcutionGraph 以及物理执行计划 Flink Job 执行流程…

CSS自适应分辨率 amfe-flexible 和 postcss-pxtorem:Webpack5 升级后相关插件和配置更新说明

前言 项目对应的 webpack5 版本如下&#xff1a; npm i webpack5.89.0 -D npm i webpack-cli5.1.4 -D升级插件 说明一下&#xff0c;我更喜欢固定版本号&#xff0c;这样随机bug会少很多&#xff0c;更可控~ npm i postcss-loader6.1.1 -D npm i postcss-pxtorem6.0.0 -D配…

Redis单机、主从、哨兵、集群配置

单机配置启动 Redis安装 下载地址&#xff1a;Download | Redis 安装步骤&#xff1a; 1: 安装gcc编译器&#xff1a;yum install gcc 2: 将下载好的redis‐5.0.3.tar.gz文件放置在/usr/local文件夹下&#xff0c;并解压redis‐5.0.3.tar.gz文件 wget http://download.re…

编译原理----算符优先级的分析(自底向上)

自底向上分析的分类如下所示&#xff1a; 算符优先分析 算符优先分析只规定算符之间的优先关系&#xff0c;也就是只考虑终结符之间的优先关系。 &#xff08;一&#xff09;若有文法G&#xff0c;如果G没有形如A->..BC..的产生式&#xff0c;其中B和C为非终结符&#xff…

BigQuery 分区表简介和使用

大纲 什么是分区表 我们先看定义&#xff1a; 分区表是一种数据库表设计和管理技术&#xff0c;它将表中的数据划分为逻辑上的多个分区&#xff0c;每个分区包含一组特定的数据。每个分区都根据定义的分区键&#xff08;通常是一个列或字段&#xff09;的值进行分类&#xff…

vue3使用echarts漏斗,根据数据计算比例大小

需求&#xff1a;我们在开发过程中会遇到漏斗图的使用&#xff0c;如果用echarts里面自带的算法绘制渲染漏斗图时候&#xff0c;如果后端给的数据相差不大很接近时候&#xff0c;漏斗图渲染的结果不明显看不出来变化的。 优化之前的漏斗图&#xff1a; 优化之后的漏斗图&…