Python中文
首页
教程
问答
标签
搜索
登录
注册
单产多用
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>在执行多线程编程时,我希望在Python中有一个单生产者、多消费者的体系结构。我希望做这样的手术:</p> <ol> <li>生产者产生数据</li> <li>消费者1..N(N是预先确定的)等待数据到达(阻塞),然后以不同的方式处理相同的数据。在</li> </ol> <p>所以我需要所有的消费者从生产者那里得到相同的数据。在</p> <p>当我使用Queue来执行此操作时,我意识到除了第一个使用者之外,所有的用户都将无法使用我的实现。在</p> <p>一种可能的解决方案是为每个使用者线程设置一个唯一的队列,其中相同的数据由生产者推送到多个队列中。有更好的方法吗?在</p> <pre><code>from threading import Thread import time import random from Queue import Queue my_queue = Queue(0) def Producer(): global my_queue my_list = [] for each in range (50): my_list.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(each) my_queue.put(my_list) def Consumer1(): print "Consumer1" global my_queue print my_queue.get() my_queue.task_done() def Consumer2(): print "Consumer2" global my_queue print my_queue.get() my_queue.task_done() P = Thread(name = "Producer", target = Producer) C1 = Thread(name = "Consumer1", target = Consumer1) C2 = Thread(name = "Consumer2", target = Consumer2) P.start() C1.start() C2.start() </code></pre> <p>在上面的例子中,C2无限期地被阻塞,因为C1消耗P1产生的数据。我更希望C1和C2都能够访问P1生成的相同数据。在</p> <p>谢谢你的任何代码/指针!在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>那么每个线程的队列怎么样?在</p> <p>作为启动每个使用者的一部分,您还将创建另一个队列,并将其添加到“所有线程队列”的列表中。然后启动生产者,将所有队列的列表传递给它,然后他可以将数据推送到所有队列中。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
8 回答
当用户登录到站点时,如何显示不同的导航栏
9 回答
当用户登录时,在Flask中向用户显示处理结果
3 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
8 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
1 回答
当用户的付款逾期2天时,从Django模型检索数据
10 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
5 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
6 回答
当用户确定打印数量时,使用Matplotlib打印动画
10 回答
当用户离开时是否可以删除整个网页?
6 回答
当用户给出一个单词时如何打印?
6 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
3 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
1 回答
当用户被更改时,消息不会来自web套接字
5 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
7 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
9 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
3 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
1 回答
当用户购买某个类别时,是否查找其他类别的销售?
5 回答
当用户转到上一页时,Django和芹菜插入操作
10 回答