Queue类(队列) 简介:queue模块三大类型队列之一
1.obj=Queue(maxsize):创建一个空的队列,maxsize若为非负数,则表示队列大小,为0或负数则无限大
2.put(item,block,timeout):将元素放入队列
item:被放入队列的元素
block:布尔值 block=True时,如果队列已满,put会阻塞当前线程,等timeout的时间直到空闲位置,如果不出现空闲位置,则会抛出一个queue.full异常 block=False时,如果队列已满,put不会阻塞当前线程,则会直接抛出抛出一个queue.full异常,不会有timeout的时间等待出现空闲位置
timeout:block=True时起作用 ,如果timeout被设置为负数,则会直接抛出抛出一个queue.full异常 ,如果timeout被设置为None(即不设置timeout或设置为0),则会无限期等待 设置等待时间的上线,防止线程无限期等待
3.put_nowait(item):等同于put(item,False),没有等待时间
4..get(block,timeout):从队列中移除并返回一个元素 block=True时,如果队列为空,等待timeout的时间,时间结束队列仍为空,抛出queue.empty异常 block=False时,如果队列为空,直接抛出queue.empty异常
5.get_nowait()=get(False)
6.empty():判断队列是否为空,是则是1,不是则是0
7.full():判断队列是否满,是则是1,不是则是0
Queue的一大特点:FIFO型(先出先进队列)即发出存货计价是,坚持先购进先发出的原则进行计价
8.task_done();当你从队列中取出一个任务并执行它时,你可以调用 task_done() 来表示这个任务已经完成
9.qsize()返回队列中元素的个数,qsize()=put()的次数-get()的次数
10.join()阻塞调用它的线程,直到队列中的所有任务都被处理完毕。
print("等待所有任务完成...")
q.join()
print("所有任务已完成")