Python教程

python进阶--queue队列

本文主要是介绍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)

如下具体用法。

一、先入先出队列
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
q. join()不用打印,且与q. task_done()组合使用。
task_done表示任务已经执行完毕。

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

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

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

这篇关于python进阶--queue队列的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!