日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python queue get 方法_Python Queue模块详解

發布時間:2025/3/15 python 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python queue get 方法_Python Queue模块详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python3.5中,隊列是線程間最常用的交換數據的形式。Queue模塊是提供隊列操作的模塊,雖然簡單易用,但是不小心的話,還是會出現一些意外。

創建一個“隊列”對象

import queue

q = queue.queue(maxsize = 10)

queue.queue類即是一個隊列的同步實現。隊列長度可為無限或者有限??赏ㄟ^queue的構造函數的可選參數maxsize來設定隊列長度。如果maxsize小于1就表示隊列長度無限。

將一個值放入隊列中

q.put(10)

調用隊列對象的put()方法在隊尾插入一個項目。put()有兩個參數,第一個item為必需的,為插入項目的值;第二個block為可選參數,默認為

1。如果隊列當前為空且block為1,put()方法就使調用線程暫停,直到空出一個數據單元。如果block為0,put方法將引發Full異常。

將一個值從隊列中取出

q.get()

調用隊列對象的get()方法從隊頭刪除并返回一個項目。可選參數為block,默認為True。如果隊列為空且block為True,get()就使調用線程暫停,直至有項目可用。如果隊列為空且block為False,隊列將引發Empty異常。

Python queue模塊有三種隊列及構造函數:

1、Python queue模塊的FIFO隊列先進先出。???? class queue.queue(maxsize)

2、LIFO類似于堆,即先進后出。???????????????????????? class queue.Lifoqueue(maxsize)

3、還有一種是優先級隊列級別越低越先出來。 ?? class queue.Priorityqueue(maxsize)

此包中的常用方法(q =queue.queue()):

q.qsize() 返回隊列的大小

q.empty() 如果隊列為空,返回True,反之False

q.full() 如果隊列滿了,返回True,反之False

q.full 與 maxsize 大小對應

q.get([block[, timeout]]) 獲取隊列,timeout等待時間

q.get_nowait() 相當q.get(False)

非阻塞 q.put(item) 寫入隊列,timeout等待時間

q.put_nowait(item) 相當q.put(item, False)

q.task_done() 在完成一項工作之后,q.task_done() 函數向任務已經完成的隊列發送一個信號

q.join() 實際上意味著等到隊列為空,再執行別的操作

總結

以上是生活随笔為你收集整理的python queue get 方法_Python Queue模块详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。