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...