• Python2.7-Queue


    Queue 模块,python3中为queue,一般和threading模块同时使用,用于处理多任务队列,模块定义了3种队列类,先进先出(FIFO),后进先出(LIFO),优先级队列

    Queue.Queue(maxsize=0),Queue.LifoQueue(maxsize=0),Queue.PriorityQueue(maxsize=0):创建3种不同的队列类,maxsize设置队列任务上限,小于等于0则上限为无穷

    模块还定义了两个异常,exception Queue.Empty,exception Queue.Full:分别在调用不延迟(non-blocking)的 get() 或 put() 时,队列是空的或满的情况下抛出

    对象方法:

    qsize():返回队列的大致大小,不保证随后调用put()或get()不会阻塞
    empty():返回队列是否为空,不保证随后调用put()或get()不会阻塞
    full():返回队列是否已满,不保证随后调用put()或get()不会阻塞
    put(item[, block[, timeout]]):把任务放进队列中,block 为 True,timeout 为 None(默认)时,会阻塞一直到队列中有空位为止,如果设置了timeout,在时间到了队列还没空位时,就会抛出 Full 异常。block 为 False 时,会立即尝试加入队列,如果没空位就抛出异常,此时timeout参数会被忽略
    put_nowait(item):等同于 put(item, False)
    get([block[, timeout]]):从队列中取出并返回这个任务,block 和 timeout 同 put 方法
    get_nowait():等同于 get(False)
    task_done():指示 get() 得到的任务是否已经完成,用于队列消费者(queue consumer)线程
    join():阻塞主线程一直到队列中所有任务被完成,即每个 get() 的消费者都运行到了 task_done()

    ---------------- 坚持每天学习一点点
  • 相关阅读:
    [ Python ] 递归函数
    [ Python ] 计算器
    [ Python ] 模块详解
    [ python ] 项目:haproxy配置文件增删改查
    [ Python ] 装饰器详解
    iOS设计
    Swift
    Swift
    iOS
    Swift
  • 原文地址:https://www.cnblogs.com/tccbj/p/8032498.html
Copyright © 2020-2023  润新知