zoukankan      html  css  js  c++  java
  • python下的queue

    一:基本介绍

    1. 介绍:

    Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递。

    2. 类型

      队列按数据存放的类型分为:FIFO(First in First Out,先进先出)和LIFO(Last in First Out)两类。

    3.基本用法:

    1)队列使用

    FIFO:class Queue.Queue(maxsize=0)

    maxsize是个整数,指明了队列中能存放的数据个数的上限。一旦达到上限,插入会导致阻塞,直到队列中的数据被消费掉。如果maxsize小于或者等于0,队列大小没有限制

    import Queue
    q = Queue.Queue()
    for i in range(5):
    q.put(i)
    while not q.empty():
    print q.get()

    LIFO:class Queue.LifoQueue(maxsize=0)
    LIFO即Last in First Out,后进先出。与栈的类似,使用也很简单,maxsize用法同上

    import Queue
    q = Queue.LifoQueue()
    for i in range(5):
    q.put(i)
    while not q.empty():
    print q.get()

    2) 常用方法:

    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() 实际上意味着等到队列为空,再执行别的操作

  • 相关阅读:
    Android 弹性布局 FlexboxLayout了解一下
    设计模式——适配器模式
    UML类图中的六种关系(物理设计阶段)
    设计模式——策略模式
    Kaggle-tiantic数据建模与分析
    数据预处理—独热编码
    推荐系统-协同过滤
    推荐系统实战-冷启动问题
    推荐系统-协同过滤原理与实现
    Hadoop生态系统之Yarn
  • 原文地址:https://www.cnblogs.com/spacepirate/p/6388666.html
Copyright © 2011-2022 走看看