线程队列Queue:线程安全队列、实现多线程通信
2026/6/19 17:33:19 网站建设 项目流程

博客导语

多线程不推荐直接用全局变量通信,极易产生线程安全问题。Queue 是 Python 线程专属安全队列,自带锁机制,是线程间数据通信标准方案。


一、Queue核心特性

  • 线程安全:内置互斥锁,多线程读写无错乱

  • 先进先出 FIFO

  • 支持队列阻塞、自动等待


二、常用方法

  • put():存入数据,队列满则阻塞

  • get():取出数据,队列为空则阻塞

  • qsize():获取队列数量

  • empty()/full():判断状态


三、生产者消费者实战(线程通信经典模型)

import threading from queue import Queue import time q = Queue(maxsize=5) def producer(): for i in range(10): q.put(f"数据{i}") print(f"生产数据{i}") time.sleep(0.2) def consumer(): while True: data = q.get() print(f"消费 {data}") q.task_done() time.sleep(0.3) t1 = threading.Thread(target=producer) t2 = threading.Thread(target=consumer) t1.start() t2.start()

四、核心优势总结

Queue 彻底替代全局变量传参,解耦生产者与消费者,天然线程安全,是多线程项目标准写法。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询