数据结构之队列

队列有一个单独的计数器,值为0时代表队列操作完了(不阻塞)。

  put一次计数器 +1,get一次计数器不变, task_done()计数器减一

  

>>> from queque import Queue
>>> q = Queue(2)
>>> q.join()  # 未阻塞
>>> q.put(2) # 计数器+1
>>> q.join() # 阻塞
...
>>> q.task_done() # 计数器-1
>>> q.join() # 为阻塞

队列特点:先进先出

队列长度超过会阻塞,为空也会阻塞
q.empty() q.full() 近似的判断队列是否为空,满
q.qsizae() 近似的 队列的长度

 

from queue import Queue
q = Queue(n)  # n为队列长度,队列超过会阻塞
q.put('a')
q.put('a1')
a = q.get()
print(a)
>>> a

 

原文地址:https://www.cnblogs.com/tangpg/p/10637222.html