标签:queue 队列 get python Queue -- done timeout put
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的数据先出来的,是优先级低的先出来。
标签:queue,队列,get,python,Queue,--,done,timeout,put 来源: https://blog.csdn.net/weixin_39399079/article/details/122733187
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。