python线程队列中PriorityQueue的使用方法

这篇文章给大家分享的是有关python线程队列中PriorityQueue的使用方法,小编觉得挺实用的,因此分享给大家学习,话不多说,一起往下看吧。

岚县网站建设公司成都创新互联公司,岚县网站设计制作,有大型网站制作公司丰富经验。已为岚县成百上千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的岚县做网站的公司定做!

一.队列Queue分类:

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

2.线程队列LifoQueue — LIFO(先进后出队列),即哪个数据最后存入的,取数据的时候先取,如同打台球,先进洞的球最后取出,最后进洞的球最先拿出;

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

二.优先队列PriorityQueue简介

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

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

三.优先队列PriorityQueue函数介绍

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

四.优先队列PriorityQueue使用

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

# !usr/bin/env python

# -*- coding:utf-8 _*-

"""

@Author:何以解忧

@Blog(个人博客地址): shuopython.com

@WeChat Official Account(微信公众号):猿说python

@Github:www.github.com

 

@File:python_priorityqueue.py

@Time:2019/11/29 1queue5:25

 

@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

"""

 

importqueue

importthreading

importtime

 

q=queue.PriorityQueue()

q.put([1,'ace'])

q.put([40,333])

q.put([3,'afd'])

q.put([5,'4asdg'])

# 1是级别最高的,

whilenotq.empty():  # 不为空时候执行

    print(q.get())

 

 

 

q=queue.PriorityQueue()

q.put('我')

q.put('你')

q.put('他')

q.put('她')

q.put('ta')

whilenotq.empty():

    print(q.get())

输出结果:

1

2

3

4

5

6

7

8

9

[1,'ace']

[3,'afd']

[5,'4asdg']

[40,333]

ta

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

以上就是python线程队列中PriorityQueue的使用方法,详细使用情况还需要大家自己亲自动手使用过才能领会。如果想了解更多相关内容,欢迎关注创新互联行业资讯频道!


网站名称:python线程队列中PriorityQueue的使用方法
标题链接:http://myzitong.com/article/jgsioj.html