Python 线程队列 LifoQueue – LIFO - Python零基础入门教程
生活随笔
收集整理的這篇文章主要介紹了
Python 线程队列 LifoQueue – LIFO - Python零基础入门教程
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
- 一.Python 線程隊列 Queue 分類
- 二.Python 線程先進后出隊列 LifoQueue 簡介
- 三.Python 線程先進后出隊列 LifoQueue 函數(shù)介紹
- 四.Python 線程先進后出隊列 LifoQueue 使用
- 五.猜你喜歡
零基礎(chǔ) Python 學(xué)習(xí)路線推薦 : Python 學(xué)習(xí)目錄 >> Python 基礎(chǔ)入門
在 Python 線程隊列 Queue – FIFO 文章中已經(jīng)介紹了 先進先出隊列 Queue,而今天給大家介紹的是第二種:線程隊列 LifoQueue – LIFO,數(shù)據(jù)先進后出類型,兩者有什么區(qū)別呢?
一.Python 線程隊列 Queue 分類
- 1.線程隊列 Queue — FIFO(先進先出隊列)****,即哪個數(shù)據(jù)先存入,取數(shù)據(jù)的時候先取哪個數(shù)據(jù),同生活中的排隊買東西;
- 2.線程隊列 LifoQueue — LIFO(先進后出隊列)****,即哪個數(shù)據(jù)最后存入的,取數(shù)據(jù)的時候先取,同生活中手槍的彈夾,子彈最后放入的先打出;
- 3.線程隊列 PriorityQueue — PriorityQueue(優(yōu)先級隊列)****,即存入數(shù)據(jù)時候加入一個優(yōu)先級,取數(shù)據(jù)的時候優(yōu)先級最高的取出;
今天只對第二種線程隊列 Queue(LIFO) 講解,最后一種留到下一篇文章在做詳細(xì)講解!
二.Python 線程先進后出隊列 LifoQueue 簡介
如上面所述,與前一篇的 Queue 相反,最后存入的數(shù)據(jù)最先取出,最先存入的數(shù)據(jù)最后取出,如下圖所示:
如果說 FIFO 是吃什么拉什么,那么 LIFO 就是吃什么吐什么,先吃的后吐,后吃的先吐~~真是重口味呀!
三.Python 線程先進后出隊列 LifoQueue 函數(shù)介紹
函數(shù)不做過多介紹了,已經(jīng)在 Python 線程隊列 Queue – FIFO 有了詳細(xì)講解,兩者都屬于 Queue,函數(shù)都一樣!
四.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# 可以設(shè)置隊列的長度 q=queue.LifoQueue(5),意味著隊列中最多存放5個元素,當(dāng)隊列滿的時候自動進入阻塞狀態(tài) q=queue.LifoQueue() def put():for i in range(10):q.put(i)print("數(shù)據(jù)%d被存入到隊列中" % i)q.join()print('ok')def get():for i in range(10):value = q.get()print("數(shù)據(jù)%d從隊列中取出" % value)q.task_done()t1=threading.Thread(target=put,args=()) t1.start() t2=threading.Thread(target=get,args=()) t2.start()''' 輸出結(jié)果:數(shù)據(jù)0被存入到隊列中 數(shù)據(jù)1被存入到隊列中 數(shù)據(jù)2被存入到隊列中 數(shù)據(jù)3被存入到隊列中 數(shù)據(jù)4被存入到隊列中 數(shù)據(jù)5被存入到隊列中 數(shù)據(jù)6被存入到隊列中 數(shù)據(jù)7被存入到隊列中 數(shù)據(jù)8被存入到隊列中 數(shù)據(jù)9被存入到隊列中 數(shù)據(jù)9從隊列中取出 數(shù)據(jù)8從隊列中取出 數(shù)據(jù)7從隊列中取出 數(shù)據(jù)6從隊列中取出 數(shù)據(jù)5從隊列中取出 數(shù)據(jù)4從隊列中取出 數(shù)據(jù)3從隊列中取出 數(shù)據(jù)2從隊列中取出 數(shù)據(jù)1從隊列中取出 數(shù)據(jù)0從隊列中取出 ok '''五.猜你喜歡
未經(jīng)允許不得轉(zhuǎn)載:猿說編程 ? Python 線程隊列 LifoQueue – LIFO
總結(jié)
以上是生活随笔為你收集整理的Python 线程队列 LifoQueue – LIFO - Python零基础入门教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BugkuCTF-MISC题简单套娃
- 下一篇: Python 线程队列 Queue –