python进阶--queue队列

1、先看这9个函数
Queue.qsize()
返回当前队列包含的消息数量;
Queue.empty()
如果队列为空,返回True,反之False
Queue.full()
如果队列满了,返回True反之False
Queue.get()
获取队列,timeout为等待时间

block表示是否等待,timeout表示是否等待 get(self,b1ock=True,timeout=None)
Queue.put(item)写入队列
b1ock表示是否等待,timeout表示是否等待

put(self,item,b1ock=True,timeout=None)
Queue.get _nowait(),相当Queue.get(False)
Queue.put _nowait(item)
相当Queue.put(item,False)

如下具体用法。

一、先入先出队列
python进阶--queue队列
python进阶--queue队列
python进阶--queue队列
q. join()不用打印,且与q. task_done()组合使用。
task_done表示任务已经执行完毕。

Queue.task_done()在完成一项任务后,使用Queue.task_done()方法可以向队列发送一个信号,表示该任务执行完毕。而Queue.join()实际上意味着等到队列中所有的任务(数据)执行完毕之后,再往下,否则一直等待。
join()是判断的依据,不单单指的是队列中没有数据,数据get之后,要使用 task_done()向队列发送一个信号,表示该任务执行(数据使用)结束。

二、后入先出队列,用LIfoQueue()
方法与上方一样还是那几个函数,只是结果输出是后入先出,就如同初中化学里的酒精灯迟到早退口诀一个道理一样。

三、优先级队列,用Priority queue()
唯一不同的put的数据类型是元组类型。
get的数据先出来的,是优先级低的先出来。

上一篇:基于HBase的 海量数据查询与检索解析


下一篇:nagios监控流量大小的插件