首页 > 技术文章 > 简单介绍一下python Queue中常用的方法

fuzzier 2016-10-19 17:16 原文

 

Queue.qsize() 返回队列的大小 
Queue.empty() 如果队列为空,返回True,反之False 
Queue.full() 如果队列满了,返回True,反之False
Queue.full 与 maxsize 大小对应 
Queue.get([block[, timeout]])获取队列,timeout等待时间 
Queue.get_nowait() 相当Queue.get(False)
非阻塞 Queue.put(item) 写入队列,timeout等待时间 
Queue.put_nowait(item) 相当Queue.put(item, False)
Queue.task_done() 在完成一项工作之后,Queue.task_done()函数向任务已经完成的队列发送一个信号
Queue.join() 实际上意味着等到队列为空,再执行别的操作

 

其中 task_done 方法

意味着之前入队的一个任务已经完成,有队列的消费者线程进行调用,各一个get调用得到一个任务,接下来task_done调用告诉队列该任务已经处理完毕。

如果当前一个join正在阻塞,它将在队列中的所有任务都处理完时恢复执行(即每一个有put调用队列的任务都有一个对应的task_done调用)。

推荐阅读