2011-04-20 17:11:05| 分类: Python |字号 订阅
创建一个“队列”对象
import Queue
myqueue = Queue.Queue(maxsize = 10)
Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。
将一个值放入队列中
myqueue.put(10)
调用队列对象的put()方法在队尾插入一个项目。put()有两个参数,第一个item为必需的,为插入项目的值;第二个block为可选参数,默认为1。如果队列当前为空且block为1,put()方法就使调用线程暂停,直到空出一个数据单元。如果block为0,put方法将引发Full异常。
将一个值从队列中取出
myqueue.get()
调用队列对象的get()方法从队头删除并返回一个项目。可选参数为block,默认为True。如果队列为空且block为True,get()就使调用线程暂停,直至有项目可用。如果队列为空且block为False,队列将引发Empty异常。
python queue模块有三种队列:
1、python queue模块的FIFO队列先进先出。
2、LIFO类似于堆。即先进后出。
3、还有一种是优先级队列级别越低越先出来。
针对这三种队列分别有三个构造函数:
1、class Queue.Queue(maxsize) FIFO
2、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() 实际上意味着等到队列为空,再执行别的操作
分享到:
相关推荐
Python Queue模块 Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。 创建一个“队列”对象 import Queue q = Queue.Queue...
Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。 创建一个“队列”对象 import Queue q = Queue.Queue(maxsize = 10) Queue.Queue类即是一个队列的同步实现。队列长度可为无限...
queue介绍 queue是python中的标准库,俗称队列。...Python queue模块的FIFO队列先进先出。 queue.Queue(maxsize) LIFO类似于堆,即先进后出。 queue.LifoQueue(maxsize) 还有一种是优先级队列级别越低越先出来。 qu
Python的`queue`模块是设计用于多线程和多进程环境中的并发数据结构,它提供了线程安全的数据访问。队列是一种先进先出(FIFO)的数据结构,常用于线程间的通信,确保数据的有序处理。在Python中,`queue`模块提供了...
Python Queue模块有三种队列及构造函数: 1、Python Queue模块的FIFO队列先进先出。 class Queue.Queue(maxsize) 2、LIFO类似于堆,即先进后出。 class Queue.LifoQueue(maxsize) 3、还有一种是优先级队列级别越低越...
Python的`Queue`模块是线程安全的数据结构,主要用于多线程环境中的数据共享和通信。这个模块提供了三种不同类型的队列:FIFO(先进先出)、LIFO(后进先出)和Priority(优先级),每种都有其特定的应用场景。 1. ...
Python中的`queue`模块提供了多种类型的队列,包括`Queue`(默认限制大小)、`LifoQueue`(后进先出,类似堆栈)和`PriorityQueue`(优先级队列)。这些队列都实现了线程安全的`put()`和`get()`方法,用于添加和获取...
Python中的`Queue`模块提供了线程安全的队列实现,这对于多线程环境下的数据同步和通信至关重要。队列是一种先进先出(FIFO)的数据结构,它遵循“先入先出”的原则,即最早放入队列的元素最早被取出。`Queue`模块...
这个 Python Demo 演示了如何结合 queue 模块和 tkinter 库来创建一个能够即时更新显示时间的图形用户界面(GUI)。通过 queue 队列,我们可以将更新 GUI 的任务安全地传递给主线程,从而避免因为直接在子线程中更新...
* pickle: pickle模块被用来序列化python的对象到bytes流,从而适合存储到文件,网络传输,或数据库存储。(pickle的过程也被称serializing,marshalling或者flattening,pickle同时可以用来将bytes流反序列化为...
Python的`multiprocessing`模块提供了解决方案,其中`Queue`类允许我们在多个子进程中安全地交换数据。本篇文章将深入探讨如何使用`Queue`实现进程间的数据交互。 首先,让我们了解`multiprocessing`模块。它是...
python模块详解 各个模块的详解 核心模块 1.1. 介绍 1.2. _ _builtin_ _ 模块 1.3. exceptions 模块 1.4. os 模块 1.5. os.path 模块 1.6. stat 模块 1.7. string 模块 1.8. re 模块 1.9. math 模块 1.10....
Python内置模块是Python标准库的一部分,它们提供了许多预先编写的函数和类,使得开发者能够方便地进行各种操作。本文将详细介绍几个常用的内置模块,包括random、collections和queue。 首先,让我们来看看`random`...
### Python模块介绍大全 Python作为一门强大的编程语言,其丰富的标准库是其一大特色。本文将根据提供的部分内容,深入解析Python中的多个模块及其用途,帮助读者更好地理解和掌握这些工具。 #### 一、数据持久化...
Python是一种强大的编程语言,拥有丰富的内置模块,这些模块提供了各种功能,从基本的数据处理到复杂的网络通信和系统交互。以下是一些重要的Python内置模块及其详细说明: 1. **calendar**: 提供了处理日历相关...
`queue.Queue`是Python标准库中用于实现同步队列的标准模块。它主要用于多线程环境中,确保数据安全地在不同线程间传递。 - **构造函数**:`queue.Queue(maxsize=0)`,其中`maxsize`指定队列的最大大小,默认为0...