python 線程隊列PriorityQueue(優先隊列)(37)


   

    在 線程隊列Queue / 線程隊列LifoQueue 文章中分別介紹了先進先出隊列Queue和先進后出隊列LifoQueue,而今天給大家介紹的是最后一種:優先隊列PriorityQueue,對隊列中的數據按照優先級排序,那么具體怎么用呢?

 

一.隊列Queue分類:

    1.線程隊列Queue — FIFO(先進先出隊列),即哪個數據先存入,取數據的時候先取哪個數據,同生活中的排隊買東西;

    2.線程隊列LifoQueue — LIFO(先進后出隊列),即哪個數據最后存入的,取數據的時候先取,同生活中手槍的彈夾,子彈最后放入的先打出;

    3.線程隊列PriorityQueue — PriorityQueue(優先級隊列),即存入數據時候加入一個優先級,取數據的時候優先級最高的取出;

 

二.優先隊列PriorityQueue簡介

    在數據存入的時候設置優先級,取數據的時候默認按照優先級最高的取出,注意:使用優先級存數據取數據,隊列中的數據必須是同一類型,舉個栗子:班級成績排名/身高排名……

    值得注意的是:在將數據存入到優先隊列PriorityQueue時,設置的值越小,優先級越高;

 

三.優先隊列PriorityQueue函數介紹

    函數不做過多介紹了,已經在 線程隊列Queue 有了詳細講解,兩者都屬於Queue,函數都一樣!

 

 

四.優先隊列PriorityQueue使用

    按優先級:不管是數字、字母、列表、元組等(字典、集合沒測),使用優先級存數據取數據,隊列中的數據必須是同一類型,都是按照實際數據的ascii碼表的順序進行優先級匹配,漢字是按照unicode表。

    輸出結果:

[1, 'ace']
[3, 'afd']
[5, '4asdg']
[40, 333]
ta
他
你
她
我

 

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

 

 

猜你喜歡:

    1.python線程隊列Queue-FIFO

    2.python線程隊列LifoQueue

    3.python線程互斥鎖Lock

    4.python線程時間Event

 

    轉載請注明:猿說Python » python線程隊列PriorityQueue(優先隊列)

 

技術交流、商務合作請直接聯系博主
掃碼或搜索:猿說python
python教程公眾號
猿說python
微信公眾號 掃一掃關注


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM