yesn 发表于 2018-8-4 08:41:02

python:Queue模块

  此模块一般用于和多线程配合
  先进先出q = Queue.Queue(maxsize)
  后进先出a = Queue.LifoQueue(maxsize)
  优先级Queue.PriorityQueue(maxsize)
  Queue.qsize() 返回队列的大小
  Queue.empty() 如果队列为空,返回True,反之False
  Queue.full() 如果队列满了,返回True,反之False
  Queue.full 与 maxsize 大小对应
  Queue.get(]) 获取队列,timeout等待时间
  Queue.get_nowait() 相当Queue.get(False)
  非阻塞 Queue.put(item) 写入队列,timeout等待时间
  Queue.put_nowait(item) 相当Queue.put(item, False)
  Queue.task_done() 在完成一项工作之后,函数向任务已经完成的队列发送一个信号
  Queue.join(): 实际上意味着等到队列为空,再执行别的操作
#-*-coding:utf-8-*-  
import Queue
  
#创建一个队列(容器)先进先出,设置容器大小为6 只能添加6个数据或者元素
  
q = Queue.Queue(6)
  
#创建一个队列(容器),先进后出后进先出
  
a = Queue.LifoQueue()
  
#print q.empty()
  
for i in range(5):
  
q.put(i)       #put添加进这个队列
  
q.put((1, 2, 3))
  
print q.full()
  
while not q.empty():#队列不为空就开始循环
  
print q.get(),    #get 从另外一端删除
  

  
print
  
for i in range(5):
  
a.put(i)         #向a队列添加数据
  
print a.get(0),      #a是后进先出
  
#############运行结果##################
  
>>> True
  
0 1 2 3 4 (1, 2, 3)
  
4
页: [1]
查看完整版本: python:Queue模块