在?python線程隊(duì)列Queue-FIFO? 文章中已經(jīng)介紹了 先進(jìn)先出隊(duì)列Queue,而今天給大家介紹的是第二種:線程隊(duì)列LifoQueue-LIFO,數(shù)據(jù)先進(jìn)后出類(lèi)型,兩者有什么區(qū)別呢?
為豐寧等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及豐寧網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、豐寧網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!1.線程隊(duì)列Queue?— FIFO(先進(jìn)先出隊(duì)列),即哪個(gè)數(shù)據(jù)先存入,取數(shù)據(jù)的時(shí)候先取哪個(gè)數(shù)據(jù),同生活中的排隊(duì)買(mǎi)東西;
2.線程隊(duì)列LifoQueue?— LIFO(先進(jìn)后出隊(duì)列),即哪個(gè)數(shù)據(jù)最后存入的,取數(shù)據(jù)的時(shí)候先取,如同打臺(tái)球,先進(jìn)洞的球最后取出,最后進(jìn)洞的球最先拿出;
3.線程隊(duì)列PriorityQueue?— PriorityQueue(優(yōu)先級(jí)隊(duì)列),即存入數(shù)據(jù)時(shí)候加入一個(gè)優(yōu)先級(jí),取數(shù)據(jù)的時(shí)候優(yōu)先級(jí)高的取出;
今天只對(duì)第二種線程隊(duì)列Queue(LIFO)講解,最后一種留到下一篇文章在做詳細(xì)講解!
如上面所述,與前一篇的Queue相反,最后存入的數(shù)據(jù)最先取出,最先存入的數(shù)據(jù)最后取出,如下圖所示:
如果說(shuō)FIFO是吃什么拉什么,那么LIFO就是吃什么吐什么,先吃的后吐,后吃的先吐~~真是重口味呀!
函數(shù)不做過(guò)多介紹了,已經(jīng)在?python線程隊(duì)列Queue-FIFO?有了詳細(xì)講解,兩者都屬于Queue,函數(shù)都一樣!
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(個(gè)人博客地址): shuopython.com @WeChat Official Account(微信公眾號(hào)):猿說(shuō)python @Github:www.github.com @File:python_LifoQueue.py @Time:2019/11/29 15:25 @Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! """ importqueue importthreading importtime # 可以設(shè)置隊(duì)列的長(zhǎng)度 q=queue.LifoQueue(5),意味著隊(duì)列中最多存放5個(gè)元素,當(dāng)隊(duì)列滿的時(shí)候自動(dòng)進(jìn)入阻塞狀態(tài) q=queue.LifoQueue() defput(): foriinrange(10): q.put(i) print("數(shù)據(jù)%d被存入到隊(duì)列中"%i) q.join() print('ok') defget(): foriinrange(10): value=q.get() print("數(shù)據(jù)%d從隊(duì)列中取出"%value) q.task_done() t1=threading.Thread(target=put,args=()) t1.start() t2=threading.Thread(target=get,args=()) t2.start() |
輸出結(jié)果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 數(shù)據(jù)0被存入到隊(duì)列中 數(shù)據(jù)1被存入到隊(duì)列中 數(shù)據(jù)2被存入到隊(duì)列中 數(shù)據(jù)3被存入到隊(duì)列中 數(shù)據(jù)4被存入到隊(duì)列中 數(shù)據(jù)5被存入到隊(duì)列中 數(shù)據(jù)6被存入到隊(duì)列中 數(shù)據(jù)7被存入到隊(duì)列中 數(shù)據(jù)8被存入到隊(duì)列中 數(shù)據(jù)9被存入到隊(duì)列中 數(shù)據(jù)9從隊(duì)列中取出 數(shù)據(jù)8從隊(duì)列中取出 數(shù)據(jù)7從隊(duì)列中取出 數(shù)據(jù)6從隊(duì)列中取出 數(shù)據(jù)5從隊(duì)列中取出 數(shù)據(jù)4從隊(duì)列中取出 數(shù)據(jù)3從隊(duì)列中取出 數(shù)據(jù)2從隊(duì)列中取出 數(shù)據(jù)1從隊(duì)列中取出 數(shù)據(jù)0從隊(duì)列中取出 ok |
1.python線程隊(duì)列Queue-FIFO
2.python 異常處理
3.python __name__ == ‘__main__’詳細(xì)解釋
4.python 不定長(zhǎng)參數(shù) *argc,**kargcs
轉(zhuǎn)載請(qǐng)注明:猿說(shuō)Python???python線程隊(duì)列LifoQueue-LIFO
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。