Python中模块之queue的功能介绍

模块之queue的功能介绍

队列的分类:

队列主要要分为两种

1.双向队列
2.单项队列

1. 单项队列

  1. 创建单项队列

    格式:queue.Queue(obj)
    例如:que = queue.Queue('abc')
    返回值:queue.Queue
    #创建单项队列时的参数可以是任意对象,无论传入的参数是什么,该队列始终是空的。
  2. empty(判断队列是否是空的)

    格式:queue.Queue(obj).empty()
    例如:que = queue.Queue('abc')
    print(que.empty())
    >>> True
    返回值:bool
    #通过直接创建的单项队列,永远都是空的。
  3. full(判断队列是否满了)

    格式:queue.Queue(obj).full()
    例如:que = queue.Queue('abc')
    print(que.full())
    >>> False
    返回值:bool
    #判断队列是否满了,与maxsize相对应。
  4. get(获取队列中的一个项)

    格式:queue.Queue(obj).get(block=True,timeout=None)
    例如:que = queue.Queue()
    que.put('abc')
    print(que.get())
    >>> 'abc'
    返回值:obj
    #取出队列中的一个项,由于单项队列只能先进先出,当队列中的项不止一个时,则直接获取第一个被放入队列中的项。
  5. get_nowait(获取队列的一个项)

    格式:queue.Queue(obj).get_nowait()
    #方法同上
  6. join

  7. put(上传一个项)

    格式:queue.Queue(obj).put(item,block=True,timeout=None)
    例如:que = queue.Queue()
    print(que.put('abc'))
    >>> None
    返回值:None
    #向队列里面放一个项,一次只能放一个项。
  8. put_nowait(上传一个项)

    格式:queue.Queue(obj).put_nowait()
    #方法同上
  9. qsize(队列长度)

    格式:queue.Queue(obj).qsize()
    例如:que = queue.Queue()
    print(que.qsize())
    >>> 0
    返回值:int
    #返回队列的长度
  10. task_done

2. 双向队列

创建方法:

格式:queue.deque(iterable[,maxlen])
返回值:collections.deque

注:queue模块中的queue.deque与collections模块中的collections.deque的功能是一样的,因此这里不作详细介绍。

上一篇:重大发现Discuz DB层跨库映射关系表名前缀BUG


下一篇:Node post请求 通常配合ajax