zoukankan      html  css  js  c++  java
  • 队列

    0707自我总结

    队列

    1.queue 模块

    常用的两种方法

    Queue:先放什么参数先获取什么参数

    PriorityQueue:将放进去的所有参数进行排序,再按照顺序取出

    LifoQueue:构造一个Lifo队列,会从最后开始往前取

    2.queue 创建对象的方法

    qsize() :返回queue的近似值。注意:qsize>0 不保证(get)取元素不阻塞。qsize< maxsize不保证(put)存元素不会阻塞

    empty():判断队列是否为空。和上面一样注意

    full():判断是否满了。和上面一样注意

    put(item, block=True, timeout=None):

    • item为放进去参数
    • blocking = False ,如果队列满了,直接报 Full异常,默认不会报错,但是如果继续放他会卡死
    • blocking = True,就是等一会,timeout必须为 0 或正数。None为一直等下去,0为不等,正数n为等待n秒还不能存入,报Full异常。

    get(item, block=True, timeout=None):获取参数其他参数与put类似,blocking 是报empty异常

    get_nowait(item):从队列里取元素,不等待

    task_done:一个标记

    jion:一般jion与task_done联用,jion他会分析当前队列被放进去总的参数,与task_done标记数是否相同

    3.队列的异常

    • queue.empty异常:只有非阻塞的时候,队列为空,取数据才会报异常

    • queue.Full异常:只有非阻塞的时候,队列满了,继续放数据才会出现异常

  • 相关阅读:
    经典博客
    Django中间介
    Django知识总结
    django认证系统
    Django-model基础知识,ORM,表操作
    Django-MTV
    web框架
    html总结(常用插件,补充知识,经典例题)
    快速搭建vue脚手架
    Djngo Rest Framework
  • 原文地址:https://www.cnblogs.com/pythonywy/p/11146575.html
Copyright © 2011-2022 走看看