python中的queue函数怎么使用

Python中的queue函数简介

在Python中,queue模块提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue,这些队列都实现了锁原语,可以在多线程中直接使用。

queue函数的基本用法

1、创建队列

python中的queue函数怎么使用

import queue
q = queue.Queue()

2、添加元素到队列

q.put('a')   添加一个元素到队列尾部并返回None
q.put('b')   添加一个元素到队列尾部并返回None

3、从队列中获取元素

item = q.get()   移除并返回队列头部的元素,如果队列为空则阻塞直到有元素可取

4、检查队列是否为空

python中的queue函数怎么使用

if not q.empty():   如果队列非空则返回True,否则返回False
    pass

5、其他常用方法

查看队列中元素的数量
print(q.qsize())  
清空队列中的所有元素
while not q.empty():  q.get()  
弹出队列中的一个元素(默认是最后一个元素)并返回它,如果不提供参数则默认弹出队头元素
element = q.pop()  
弹出队列中的一个元素并返回它,如果提供参数n则弹出队头的元素,直到遇到第n个元素为止,然后返回这n个元素组成的列表,如果队列为空则阻塞直到有元素可取。
elements = list(q.islice(n))  
阻塞直到有元素可以被取出,如果提供参数timeout则阻塞timeout秒,如果在这个时间内没有元素被取出,则抛出Empty异常,当非阻塞模式时,如果队列为空则立即抛出Empty异常。
element = q.get(block=False)  
element = q.get(timeout=10)  

queue函数的高级用法

1、设置最大尺寸的队列:可以通过maxsize参数来设置队列的最大尺寸,当试图向已满的队列中添加元素的操作会被阻塞,直到队列中有空闲空间可用或等待超时,如果将maxsize设为None,那么可以无限制地向队列中添加元素,但是这种做法并不推荐,因为这可能会导致内存耗尽。

q = queue.Queue(maxsize=5)   创建一个最大尺寸为5的队列

2、设置最小尺寸的队列:可以通过minsize参数来设置队列的最小尺寸,当试图从空的队列中删除元素的操作会被阻塞,直到队列中有元素可供取出或等待超时,如果将minsize设为None,那么可以无限制地从队列中删除元素,但是这种做法并不推荐,因为这可能会导致程序死锁。

python中的queue函数怎么使用

q = queue.Queue(minsize=1)   创建一个最小尺寸为1的队列

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/156844.html

(0)
K-seoK-seoSEO优化员
上一篇 2023年12月22日 08:27
下一篇 2023年12月22日 08:31

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入