Python 线程队列 LifoQueue – LIFO - Python零基础入门教程
生活随笔
收集整理的這篇文章主要介紹了
Python 线程队列 LifoQueue – LIFO - Python零基础入门教程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一.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 = 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 線程隊列 LifoQueue – LIFO
總結
以上是生活随笔為你收集整理的Python 线程队列 LifoQueue – LIFO - Python零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BugkuCTF-MISC题简单套娃
- 下一篇: BugkuCTF-MISC题粗心的佳佳