目录
初学者推荐学习路线:学习目录>>基础知识
在线程队列Queue/线程队列一文中我们分别介绍了先进先出队列Queue和先进后出队列。今天来介绍最后一种:优先级队列,将队列中的数据按照优先级进行排序。那么具体怎么使用呢?
1.线程队列分类2.线程优先级队列介绍
设置存储数据时的优先级,检索数据时默认检索优先级最高的数据。注意:使用优先级存储和检索数据时,队列中的数据必须是同一类型。例如:班级成绩排名/身高排名...
值得注意的是,在优先级队列中存储数据的时候,值越小,优先级越高;
3.线程优先级队列函数介绍
该功能我就不做过多介绍了,在线程队列Queue中已经详细讲解过了。都属于Queue,功能是一样的!
4.线程优先级队列的使用
按优先级:不管是数字、字母、列表、元组等(dict、set 未测试),都使用优先级来存储和获取数据。队列中的数据必须是同一类型,优先级按照实际数据的 ASCII 码表顺序进行匹配。汉字按照表进行匹配。
# !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 time
q = 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
他
你
她
我
'''
**从这里可以看出:在优先级队列中存数据的时候,设置的值越小,优先级越高!**
5. 你可能还喜欢 条件推导 列表推导 字典推导 函数声明与调用 可变长度参数 *argc/** 匿名函数 逻辑判断表达式 字符串/列表/元组/字典之间的转换 局部变量与全局变量 类型函数与函数区别是和== 可变数据类型与不可变数据类型区别 浅复制与深复制 文件读写操作 异常处理模块== ''详解 线程创建与参数传递 线程互斥 线程时间 线程条件变量 线程计时器 线程信号量 线程屏障对象 线程队列 队列-线程队列-线程优先级队列
扫一扫在手机端查看
-
Tags : python lifoqueue priorityqueue
- 上一篇:谷歌域名服务_【5.27域名商机】谷歌注册两枚无人驾驶.app域名;又是他,花38美元收购域名卖出近4.8万美元;海外的10个终端域名销售;
- 下一篇:花生壳域名用不用备案_【大风车大课堂】之 花生壳动态域名的介绍和操作方法
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。