• python


    创建一个“队列”对象

    import queue
    q = queue.Queue(3)

    q的队列长度是3.

    myqueue.put(10)
    put()有两个参数,第一个item为必需的,为插入项目的值;第二个block为可选参数,默认为1。如果队列当前为空且block为1,put()方法就使调用线程暂停,直到空出一个数据单元。如果block为0,put方法将引发Full异常。

    myqueue.get()
    取出一个值,可选参数为block,默认为True。如果队列为空且block为True,get()就使调用线程暂停,直至有项目可用。如果队列为空且block为False,队列将引发Empty异常。


    python queue模块有三种队列:
    1、FIFO队列,先进先出。默认
    class Queue.Queue(maxsize) FIFO
    2、LIFO类似于堆。即先进后出。
    class Queue.LifoQueue(maxsize) LIFO
    3、优先级队列,级别越低越先出来。
    class Queue.PriorityQueue(maxsize) 优先级队列

    常用方法:
    Queue.qsize() 返回队列的大小
    Queue.empty() 如果队列为空,返回True,反之False
    Queue.full() 如果队列满了,返回True,反之False
    Queue.full 与 maxsize 大小对应
    Queue.get([block[, timeout]])获取队列,timeout等待时间
    Queue.get_nowait() 相当Queue.get(False)

    非阻塞 Queue.put(item) 写入队列,timeout等待时间
    Queue.put_nowait(item) 相当Queue.put(item, False)
    Queue.task_done() 在完成一项工作之后,Queue.task_done()函数向任务已经完成的队列发送一个信号
    Queue.join() 实际上意味着等到队列为空,再执行别的操作

  • 相关阅读:
    Flask从入门到入土
    flask请求上下文源码分析
    python事件调度库sched
    go中简单使用kafka
    python下使用ElasticSearch
    numpy+pandas+matplotlib+tushare股票分析
    functools模块中partial的使用
    乐观锁与悲观锁
    mysql的服务器构成
    redis事件监听及在订单系统中的使用
  • 原文地址:https://www.cnblogs.com/qikang/p/9023779.html
Copyright © 2020-2023  润新知