37.Python 线程队列PriorityQueue(优先队列)

最后更新于:2020-03-21 11:54:00

线程队列Queue / 线程队列LifoQueue 文章中分别介绍了先进先出队列Queue和先进后出队列LifoQueue,而今天给大家介绍的是最后一种:优先队列PriorityQueue,对队列中的数据按照优先级排序,那么具体怎么用呢?

 

一.队列Queue分类:

1.线程队列Queue — FIFO(先进先出队列),即哪个数据先存入,取数据的时候先取哪个数据,同生活中的排队买东西;

2.线程队列LifoQueue — LIFO(先进后出队列),即哪个数据最后存入的,取数据的时候先取,同生活中手枪的弹夹,子弹最后放入的先打出;

3.线程队列PriorityQueue — PriorityQueue(优先级队列),即存入数据时候加入一个优先级,取数据的时候优先级最高的取出;

 

二.优先队列PriorityQueue简介

在数据存入的时候设置优先级,取数据的时候默认按照优先级最高的取出,注意:使用优先级存数据取数据,队列中的数据必须是同一类型,举个栗子:班级成绩排名/身高排名……

值得注意的是:在将数据存入到优先队列PriorityQueue时,设置的值越小,优先级越高;

 

三.优先队列PriorityQueue函数介绍

函数不做过多介绍了,已经在 线程队列Queue 有了详细讲解,两者都属于Queue,函数都一样!

 

 

四.优先队列PriorityQueue使用

按优先级:不管是数字、字母、列表、元组等(字典、集合没测),使用优先级存数据取数据,队列中的数据必须是同一类型,都是按照实际数据的ascii码表的顺序进行优先级匹配,汉字是按照unicode表。

输出结果:

由此可见:在将数据存入到优先队列PriorityQueue时,设置的值越小,优先级越高!

 

 

猜你喜欢:

1.python线程队列Queue-FIFO

2.python线程队列LifoQueue

3.python线程互斥锁Lock

4.python线程时间Event

 

转载请注明猿说Python » python线程队列PriorityQueue(优先队列)

 

技术交流、商务合作请直接联系博主
扫码或搜索:猿说python
python教程公众号
猿说python
微信公众号 扫一扫关注