.Tang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

队列有一个单独的计数器,值为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

 

 

posted on 2019-04-01 16:33  .Tang  阅读(152)  评论(0编辑  收藏  举报