目錄
- 一.Python 執行緒佇列 Queue 分類
- 二.Python 執行緒先進后出佇列 LifoQueue 簡介
- 三.Python 執行緒先進后出佇列 LifoQueue 函式介紹
- 四.Python 執行緒先進后出佇列 LifoQueue 使用
- 五.猜你喜歡
零基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門
在 Python 執行緒佇列 Queue – FIFO 文章中已經介紹了 先進先出佇列 Queue,而今天給大家介紹的是第二種:執行緒佇列 LifoQueue – LIFO,資料先進后出型別,兩者有什么區別呢?
一.Python 執行緒佇列 Queue 分類
- 1.執行緒佇列 Queue — FIFO(先進先出佇列)****,即哪個資料先存入,取資料的時候先取哪個資料,同生活中的排隊買東西;
- 2.執行緒佇列 LifoQueue — LIFO(先進后出佇列)****,即哪個資料最后存入的,取資料的時候先取,同生活中手槍的彈夾,子彈最后放入的先打出;
- 3.執行緒佇列 PriorityQueue — PriorityQueue(優先級佇列)****,即存入資料時候加入一個優先級,取資料的時候優先級最高的取出;
今天只對第二種執行緒佇列 Queue(LIFO) 講解,最后一種留到下一篇文章在做詳細講解!
二.Python 執行緒先進后出佇列 LifoQueue 簡介
如上面所述,與前一篇的 Queue 相反,最后存入的資料最先取出,最先存入的資料最后取出,如下圖所示:

如果說 FIFO 是吃什么拉什么,那么 LIFO 就是吃什么吐什么,先吃的后吐,后吃的先吐~~真是重口味呀!

三.Python 執行緒先進后出佇列 LifoQueue 函式介紹
函式不做過多介紹了,已經在 Python 執行緒佇列 Queue – FIFO 有了詳細講解,兩者都屬于 Queue,函式都一樣!
四.Python 執行緒先進后出佇列 LifoQueue 使用
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說編程
@Blog(個人博客地址): www.codersrc.com
@File:Python 執行緒先進后出佇列 LifoQueue.py
@Time:2021/05/05 07:37
@Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!
"""
import queue
import threading
import time
# 可以設定佇列的長度 q=queue.LifoQueue(5),意味著佇列中最多存放5個元素,當佇列滿的時候自動進入阻塞狀態
q=queue.LifoQueue()
def put():
for i in range(10):
q.put(i)
print("資料%d被存入到佇列中" % i)
q.join()
print('ok')
def get():
for i in range(10):
value = https://www.cnblogs.com/shuopython/archive/2021/06/27/q.get()
print("資料%d從佇列中取出" % value)
q.task_done()
t1=threading.Thread(target=put,args=())
t1.start()
t2=threading.Thread(target=get,args=())
t2.start()
'''
輸出結果:
資料0被存入到佇列中
資料1被存入到佇列中
資料2被存入到佇列中
資料3被存入到佇列中
資料4被存入到佇列中
資料5被存入到佇列中
資料6被存入到佇列中
資料7被存入到佇列中
資料8被存入到佇列中
資料9被存入到佇列中
資料9從佇列中取出
資料8從佇列中取出
資料7從佇列中取出
資料6從佇列中取出
資料5從佇列中取出
資料4從佇列中取出
資料3從佇列中取出
資料2從佇列中取出
資料1從佇列中取出
資料0從佇列中取出
ok
'''
五.猜你喜歡
- Python 條件推導式
- Python 串列推導式
- Python 字典推導式
- Python 函式宣告和呼叫
- Python 不定長引數 *argc/**kargcs
- Python 匿名函式 lambda
- Python return 邏輯判斷運算式
- Python 字串/串列/元組/字典之間的相互轉換
- Python 區域變數和全域變數
- Python type 函式和 isinstance 函式區別
- Python is 和 == 區別
- Python 可變資料型別和不可變資料型別
- Python 淺拷貝和深拷貝
- Python 檔案讀寫操作
- Python 例外處理
- Python 模塊 import
- Python __name__ == ‘__main__’詳細解釋
- Python 執行緒創建和傳參
- Python 執行緒互斥鎖 Lock
- Python 執行緒時間 Event
- Python 執行緒條件變數 Condition
- Python 執行緒定時器 Timer
- Python 執行緒信號量 Semaphore
- Python 執行緒障礙物件 Barrier
- Python 執行緒佇列 Queue – FIFO
- Python 執行緒佇列 LifoQueue – LIFO
- Python 執行緒優先佇列 PriorityQueue
未經允許不得轉載:猿說編程 ? Python 執行緒佇列 LifoQueue – LIFO
本文由博客 - 猿說編程 猿說編程 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/288551.html
標籤:其他
