Python 线程优先队列 PriorityQueue - Python零基础入门教程
目录
- 一.Python 线程队列 Queue 分类
- 二.Python 线程优先队列 PriorityQueue 简介
- 三.Python 线程优先队列 PriorityQueue 函数介绍
- 四.Python 线程优先队列 PriorityQueue 使用
- 五.猜你喜欢
零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门
在 线程队列 Queue / 线程队列 LifoQueue 文章中分别介绍了先进先出队列 Queue 和先进后出队列 LifoQueue ,而今天给大家介绍的是最后一种:优先队列 PriorityQueue ,对队列中的数据按照优先级排序,那么具体怎么用呢?
一.Python 线程队列 Queue 分类
- 1.线程队列 Queue — FIFO(先进先出队列),即哪个数据先存入,取数据的时候先取哪个数据,同生活中的排队买东西;
- 2.线程队列 LifoQueue — LIFO(先进后出队列),即哪个数据最后存入的,取数据的时候先取,同生活中手枪的弹夹,子弹最后放入的先打出;
- 3.线程队列 PriorityQueue — PriorityQueue(优先级队列),即存入数据时候加入一个优先级,取数据的时候优先级最高的取出;
二.Python 线程优先队列 PriorityQueue 简介
在数据存入的时候设置优先级,取数据的时候默认按照优先级最高的取出,注意:使用优先级存数据取数据,队列中的数据必须是同一类型,举个栗子:班级成绩排名/身高排名……
值得注意的是:在将数据存入到优先队列 PriorityQueue 时,设置的值越小,优先级越高;
三.Python 线程优先队列 PriorityQueue 函数介绍
函数不做过多介绍了,已经在 线程队列 Queue 有了详细讲解,两者都属于 Queue ,函数都一样!
四.Python 线程优先队列 PriorityQueue 使用
按优先级:不管是数字、字母、列表 list 、元组 tuple 等(字典 dict 、集合 set 没测),使用优先级存数据取数据,队列中的数据必须是同一类型,都是按照实际数据的 ascii 码表的顺序进行优先级匹配,汉字是按照 unicode 表。
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python 线程优先队列 PriorityQueue.py
@Time:2021/05/05 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""import queue
import threading
import timeq = queue.PriorityQueue()
q.put([1, 'ace'])
q.put([40, 333])
q.put([3, 'afd'])
q.put([5, '4asdg'])
# 1是级别最高的,
while not q.empty(): # 不为空时候执行print(q.get())q = queue.PriorityQueue()
q.put('我')
q.put('你')
q.put('他')
q.put('她')
q.put('ta')
while not q.empty():print(q.get())'''
输出结果:[1, 'ace']
[3, 'afd']
[5, '4asdg']
[40, 333]
ta
他
你
她
我
'''
** 由此可见:在将数据存入到优先队列 PriorityQueue 时,设置的值越小,优先级越高!**
五.猜你喜欢
- Python 条件推导式
- Python 列表推导式
- Python 字典推导式
- Python 函数声明和调用
- Python 不定长参数 *argc/**kargcs
- Python 匿名函数 lambda
- Python return 逻辑判断表达式
- Python 字符串/列表/元组/字典之间的相互转换
- Python 局部变量和全局变量
- Python type 函数和 isinstance 函数区别
- Python is 和 == 区别
- Python 可变数据类型和不可变数据类型
- Python 浅拷贝和深拷贝
- Python 文件读写操作
- Python 异常处理
- Python 模块 import
- Python __name__ == ‘__main__’详细解释
- Python 线程创建和传参
- Python 线程互斥锁 Lock
- Python 线程时间 Event
- Python 线程条件变量 Condition
- Python 线程定时器 Timer
- Python 线程信号量 Semaphore
- Python 线程障碍对象 Barrier
- Python 线程队列 Queue – FIFO
- Python 线程队列 LifoQueue – LIFO
- Python 线程优先队列 PriorityQueue
未经允许不得转载:猿说编程 » Python 线程优先队列 PriorityQueue
Python 线程优先队列 PriorityQueue - Python零基础入门教程相关推荐
- python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)
一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...
- Python 线程障碍对象 Barrier - Python零基础入门教程
目录 一.Python 线程障碍对象 Barrier 简介 二.Python 线程障碍对象 Barrier 原理 三.Python 线程障碍对象 Barrier 函数介绍 四.Python 线程障碍对 ...
- Python 进程 Process 与线程 threading 区别 - Python零基础入门教程
目录 一.Python 线程 threading 创建 二.Python 进程 Process 创建 三.Python 进程 Process 和线程 threading 区别 四.Python 进程 ...
- Python globals 函数 - Python零基础入门教程
目录 一.Python globals 函数语法 二.Python globals 函数使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Pytho ...
- Python locals 函数 - Python零基础入门教程
目录 一.locals 函数语法 二.locals 函数使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.locals ...
- Python reduce 函数 - Python零基础入门教程
目录 一.Python reduce 函数简介 1.reduce 函数语法 2.reduce 函数原理 二.Python reduce 函数使用 1.reduce 函数普通使用 2.reduce 函数 ...
- Python chr 函数 - Python零基础入门教程
目录 一.Python chr 函数简介 二.Python chr 函数使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一 ...
- Python GIL 锁 - Python零基础入门教程
目录 一.并行和并发 二.GIL 锁 案例一:单核多线程 案例二:单核多线程 案例三:双核多线程 三.如何解决 GIL 锁问题 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习 ...
- Python 进程池 multiprocessing.Pool - Python零基础入门教程
目录 一.Python 进程池 multiprocessing.Pool 介绍 二.Python 进程池 multiprocessing.Pool 使用 三.猜你喜欢 零基础 Python 学习路线推 ...
最新文章
- Fast-SCNN的解释以及使用Tensorflow 2.0的实现
- 如何给前三条最新信息旁边加上一个红旗
- MongoDB进阶系列(11)——“改”的那些事(二)文档的keyvalue为数组的修改方法...
- 【laravel】用laravel在游览器中显示Hello World
- 高级指令——top指令【作用:查看服务器的进程占的资源】、du -sh指令【作用:查看目录的真实大小】、find指令【作用:用于查找文件】、service指令
- 史上最全的女人坐月子注意事項
- java int相除向上取整_java实战项目常用类,Date、Calendar、BigDecimal、Math、UUID
- linux将所有文件生成lst_10行Python代码自动清理电脑内重复文件,解放双手!
- MEF实现设计上的“松耦合”(一)
- 一步一步SharePoint 2007之十五:实现Form认证(5)——更改认证的Provider
- Vue3@cli项目结构
- 【网赚工具】语音转文字神器,无需安装就能使用,支持长语音识别
- Silverlight中 非UI线程更新UI 的几种方法
- 标签、画像设计与模型落地
- axios post方式同时传递pram和json参数
- 中国大学慕课——程序设计与算法(一)第二周测验
- 80%中国男人不敢主动和女人搭讪
- 用java实现一个算术测试软件,最新Java算术测试
- 电脑技巧:如何实现电脑一键自动关机和重启?
- android svg路径动画,Android和播放SVG动画
热门文章
- 万级规模 K8s 如何管理?蚂蚁双11核心技术公开
- 干货|Spring Cloud Stream 体系及原理介绍
- 函数运行环境系统动态链接库版本太低?函数计算 fun 神助力分忧解难
- 用PyTorch创建一个图像分类器?So easy!(Part 2)
- 阿里云AI如何助攻世界杯?视频集锦背后的技术实践
- 阿里云Redis混合存储典型场景:如何轻松搭建视频直播间系统
- “编程能力差的程序员,90%输在了这点上!”谷歌AI专家:都是瞎努力!
- CSDN 1024,“猿”来在等你!
- linux服务器查看mysql服务名称_Linux服务器查看MySQL信息
- Centos7 安装docker-compose