找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3204|回复: 0

[求助] 并行发布订阅模型

2

主题

2

帖子

2

积分

贫民

积分
2
Alain 发表于 2017-6-26 21:41:11 | 显示全部楼层 |阅读模式
放假了,自己找个模型探索一下;于是打算开拓开拓发布订阅模型。思路如下,在原来发布订阅模型的基础上,加入中间层,一共有4类对象;举个具体的例子,publisher只给agence发信息,agence收到信息略作处理后发送给subscriber,subscriber只收信息;我发现这个模型非常像交换机模型:publisher和agence的关系通过交换机连接,agence和subscriber的关系也通过交换机连接。
代码我都实现了,但是在并行方面上不理想;我想agence始终在后台运行,每个agence有一个独立线程运行(永远不停),只要publisher一发送信息,agence就开始工作,最后直接查看subscriber得到的信息;而且所有具有发送信息功能的对象应该竟可能在同一时间向下一级的对象发送信息。


我对agence继承了Thread,但是感觉run逻辑很有问题:
每个agence都有一个属性queue.Queue(),接收上级信息时会被锁,向下级发送信息时也会被锁,而我想让这个线程一直运行,就加了个while True循环,结果锁得不到也放不开,整个流程就崩了....请问各位有什么好的解决办法吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表