溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python線程隊列中PriorityQueue的使用方法

發布時間:2020-06-12 10:09:58 來源:億速云 閱讀:973 作者:Leah 欄目:編程語言

這篇文章給大家分享的是有關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:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!

"""

 

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

2

3

4

5

6

7

8

9

[1, 'ace']

[3, 'afd']

[5, '4asdg']

[40, 333]

ta

由此可見:在將數據存入到優先隊列PriorityQueue時,設置的值越小,優先級越高!

以上就是python線程隊列中PriorityQueue的使用方法,詳細使用情況還需要大家自己親自動手使用過才能領會。如果想了解更多相關內容,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女