多執行緒利器queue

2021-08-28 03:32:00 字數 938 閱讀 6000

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異常。

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() 實際上意味著等到隊列為空,再執行別的操作

多執行緒queue

一 class queue.queue maxsize 0 佇列 先進先出 import queue q queue.queue q.put first q.put second q.put third print q.get print q.get print q.get 結果 先進先出 firs...

多執行緒之執行緒queue

有三種不同的用法 class queue.queue maxsize 0 佇列 先進先出 按 ctrl c 複製 按 ctrl c 複製 class queue.lifoqueue maxsize 0 堆疊 last in fisrt out import queue q queue.lifoque...

python 多執行緒 queue

python的queue設計的是執行緒安全的,所以大傢伙放心用吧!python多執行緒的一種簡單的實現如下 usr bin env python coding utf 8 import threading import time deffun argv print in argv time.slee...