社区
脚本语言
帖子详情
Python中使用queue进行生产者消费者时,如何停止
stream_
2021-02-20 12:23:18
python中的queue是线程安全的,如果queue为空则会阻塞。
那么当我一个生产者线程,向queue中塞入货物。十个消费者线程,从queue中取出货物。
我看到别人写的消费者是while True
请问如何让生产者不再生产时,消费者处理完queue中的数据就停止运行。
谢谢各位大佬
...全文
218
3
打赏
收藏
微信扫一扫
点击复制链接
分享
下载分享明细
分享
举报
写回复
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
青柍
2021-02-22
可以让生产者在产生数据时,每次传数据多传一个数据代表是否生产完,比如未生产完为1,生产完为2,每次修改while True中的数据为此数据,然后判断如果为2了,再判断queue是否为空,不知是否是这意思
打赏
举报
回复
赞
stream_
2021-02-22
引用 1 楼 chuifengde 的回复:
那不就是判断queue中是不是为空吗?为空就break
多线程下,queue中的数据量是动态变化的,十个消费者一个生产者,可能生产者还没生产完,消费者已经把queue中的货物消化完了。
打赏
举报
回复
赞
chuifengde
2021-02-21
那不就是判断queue中是不是为空吗?为空就break
打赏
举报
回复
赞
相关推荐
python
多进程下的
生产者
和
消费者
模型
主要介绍了
python
多进程下的
生产者
和
消费者
模型,文
中
通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
python
queue
生产者
消费者
_
python
队列
Queue
之
生产者
消费者
实例
生产者
每次生产一个产品
消费者
每次消费两个产品采用了FIFO模式
queue
4 =
queue
.
Queue
()goods = 1lock = threading.Lock()def Productor(name):'''
生产者
'''global goodswhile True:lock.acquire()
queue
4.put("商品:{...
python
queue
生产者
消费者
_
Python
之
queue
模块以及生产
消费者
模型
队列队列类似于一条管道,...队列分类队列有很多
中
,但都依赖模块
queue
队列方式特点
queue
.
Queue
先进先出队列
queue
.Lifo
Queue
后进先出队列
queue
.Priority
Queue
优先级队列
queue
.deque双线队列队列的方法方法用法说明put...
python
自带队列
queue
使用
生产者
消费者
多线程
使用
生产者
消费者
代码示例: import time from
queue
import
Queue
from threading import Thread q =
Queue
(maxsize=3) def consumer(): print('
消费者
线程启动') while True: print('开始消费',q.get()) time....
python
queue
生产者
消费者
_
Queue
: 应用于
生产者
-
消费者
模式的
Python
队列
Queue
是
Python
标准库
中
的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在
生产者
和
消费者
()线程之间的信息传递。为什么
使用
Queue
,而不是list或者dict?list或者dict是非...
发帖
脚本语言
微信扫一扫
点击复制链接
分享社区
下载分享明细
3.7w+
社区成员
3.4w+
社区内容
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
帖子事件
创建了帖子
2021-02-20 12:23