Queue在python的实例化

Queue是Python中线程安全的队列,位于queue模块,通过from queue import Queue导入,使用Queue()创建实例,支持put()入队、get()出队、empty()判空、full()判满和qsize()查大小,常用于生产者-消费者等多线程数据传递场景。

queue在python的实例化

在 Python 中,Queue 是一个线程安全的队列实现,常用于多线程编程中安全地传递数据。它位于 queue 模块中,使用前需要导入。

导入 Queue 模块

Python 3 中,模块名为 queue(小写),注意不是大写 Q:

from queue import Queue

Queue 的基本实例化

通过调用 Queue() 构造函数来创建一个队列对象。可以指定最大容量,也可以不指定(默认无限制):

# 创建一个无限容量的队列 q = Queue()

创建一个最多容纳 10 个元素的队列

q = Queue(maxsize=10)

常用操作示例

实例化后,可以进行入队、出队等操作:

立即学习“Python免费学习笔记(深入)”;

# 入队 put() q.put(“item1”) q.put(“item2”)

出队 get()

item = q.get()
print(item) # 输出: item1

查看队列是否为空

print(q.empty()) # 队列空时返回 True

查看队列是否已满(如果设置了 maxsize)

print(q.full()) # 容量满时返回 True

查看当前队列大小

print(q.qsize())

实际应用场景

Queue 常用于多线程任务调度,比如生产者-消费者模型:

from queue import Queue import threading import time

def producer(q):
for i in range(3):
q.put(f”任务-{i}”)
print(f”生产: 任务-{i}”)
time.sleep(1)

def consumer(q):
while True:
item = q.get()
if item is None:
break
print(f”消费: {item}”)
q.task_done()

q = Queue()
t1 = threading.Thread(target=producer, args=(q,))
t2 = threading.Thread(target=consumer, args=(q,), daemon=True)

t1.start()
t2.start()
t1.join()

q.put(None) # 发送结束信号

基本上就这些。只要导入 Queue 类,调用 Queue() 就能创建实例,再结合 put()get() 使用即可。注意线程安全场景下推荐使用 Queue,避免数据竞争问题。

以上就是Queue在python的实例化的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1382291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月14日 23:46:37
下一篇 2025年12月14日 23:46:46

相关推荐

发表回复

登录后才能评论
关注微信