目录

  • 一.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 时,设置的值越小,优先级越高!**

五.猜你喜欢

  1. Python 条件推导式
  2. Python 列表推导式
  3. Python 字典推导式
  4. Python 函数声明和调用
  5. Python 不定长参数 *argc/**kargcs
  6. Python 匿名函数 lambda
  7. Python return 逻辑判断表达式
  8. Python 字符串/列表/元组/字典之间的相互转换
  9. Python 局部变量和全局变量
  10. Python type 函数和 isinstance 函数区别
  11. Python is 和 == 区别
  12. Python 可变数据类型和不可变数据类型
  13. Python 浅拷贝和深拷贝
  14. Python 文件读写操作
  15. Python 异常处理
  16. Python 模块 import
  17. Python __name__ == ‘__main__’详细解释
  18. Python 线程创建和传参
  19. Python 线程互斥锁 Lock
  20. Python 线程时间 Event
  21. Python 线程条件变量 Condition
  22. Python 线程定时器 Timer
  23. Python 线程信号量 Semaphore
  24. Python 线程障碍对象 Barrier
  25. Python 线程队列 Queue – FIFO
  26. Python 线程队列 LifoQueue – LIFO
  27. Python 线程优先队列 PriorityQueue

未经允许不得转载:猿说编程 » Python 线程优先队列 PriorityQueue

Python 线程优先队列 PriorityQueue - Python零基础入门教程相关推荐

  1. python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)

    一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...

  2. Python 线程障碍对象 Barrier - Python零基础入门教程

    目录 一.Python 线程障碍对象 Barrier 简介 二.Python 线程障碍对象 Barrier 原理 三.Python 线程障碍对象 Barrier 函数介绍 四.Python 线程障碍对 ...

  3. Python 进程 Process 与线程 threading 区别 - Python零基础入门教程

    目录 一.Python 线程 threading 创建 二.Python 进程 Process 创建 三.Python 进程 Process 和线程 threading 区别 四.Python 进程 ...

  4. Python globals 函数 - Python零基础入门教程

    目录 一.Python globals 函数语法 二.Python globals 函数使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Pytho ...

  5. Python locals 函数 - Python零基础入门教程

    目录 一.locals 函数语法 二.locals 函数使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.locals ...

  6. Python reduce 函数 - Python零基础入门教程

    目录 一.Python reduce 函数简介 1.reduce 函数语法 2.reduce 函数原理 二.Python reduce 函数使用 1.reduce 函数普通使用 2.reduce 函数 ...

  7. Python chr 函数 - Python零基础入门教程

    目录 一.Python chr 函数简介 二.Python chr 函数使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一 ...

  8. Python GIL 锁 - Python零基础入门教程

    目录 一.并行和并发 二.GIL 锁 案例一:单核多线程 案例二:单核多线程 案例三:双核多线程 三.如何解决 GIL 锁问题 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习 ...

  9. Python 进程池 multiprocessing.Pool - Python零基础入门教程

    目录 一.Python 进程池 multiprocessing.Pool 介绍 二.Python 进程池 multiprocessing.Pool 使用 三.猜你喜欢 零基础 Python 学习路线推 ...

最新文章

  1. Fast-SCNN的解释以及使用Tensorflow 2.0的实现
  2. 如何给前三条最新信息旁边加上一个红旗
  3. MongoDB进阶系列(11)——“改”的那些事(二)文档的keyvalue为数组的修改方法...
  4. 【laravel】用laravel在游览器中显示Hello World
  5. 高级指令——top指令【作用:查看服务器的进程占的资源】、du -sh指令【作用:查看目录的真实大小】、find指令【作用:用于查找文件】、service指令
  6. 史上最全的女人坐月子注意事項
  7. java int相除向上取整_java实战项目常用类,Date、Calendar、BigDecimal、Math、UUID
  8. linux将所有文件生成lst_10行Python代码自动清理电脑内重复文件,解放双手!
  9. MEF实现设计上的“松耦合”(一)
  10. 一步一步SharePoint 2007之十五:实现Form认证(5)——更改认证的Provider
  11. Vue3@cli项目结构
  12. 【网赚工具】语音转文字神器,无需安装就能使用,支持长语音识别
  13. Silverlight中 非UI线程更新UI 的几种方法
  14. 标签、画像设计与模型落地
  15. axios post方式同时传递pram和json参数
  16. 中国大学慕课——程序设计与算法(一)第二周测验
  17. 80%中国男人不敢主动和女人搭讪
  18. 用java实现一个算术测试软件,最新Java算术测试
  19. 电脑技巧:如何实现电脑一键自动关机和重启?
  20. android svg路径动画,Android和播放SVG动画

热门文章

  1. 万级规模 K8s 如何管理?蚂蚁双11核心技术公开
  2. 干货|Spring Cloud Stream 体系及原理介绍
  3. 函数运行环境系统动态链接库版本太低?函数计算 fun 神助力分忧解难
  4. 用PyTorch创建一个图像分类器?So easy!(Part 2)
  5. 阿里云AI如何助攻世界杯?视频集锦背后的技术实践
  6. 阿里云Redis混合存储典型场景:如何轻松搭建视频直播间系统
  7. “编程能力差的程序员,90%输在了这点上!”谷歌AI专家:都是瞎努力!
  8. CSDN 1024,“猿”来在等你!
  9. linux服务器查看mysql服务名称_Linux服务器查看MySQL信息
  10. Centos7 安装docker-compose