首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线程还是DRb?

线程还是DRb?
EN

Stack Overflow用户
提问于 2009-08-28 11:15:10
回答 1查看 1.2K关注 0票数 0

我需要在Ruby中有2个(或者3个)持续运行的程序“方面”--一个通信线程,一个渲染线程,也许还有一个缓存线程。

其思想是呈现线程显示幻灯片(其定义从文件中读取),并且通信线程从远程HTTP服务器检索所有幻灯片。渲染必须是连续的并且不会停止(因此可能需要缓存)。在程序的生命周期中,文件可能会发生变化,因此需要重新解析(动态)。

我想在“方面”之间发送消息,例如,当通信线程获得节目的整个“章节”时,渲染线程可以在等待下载整个节目之前启动,等等。

我应该使用Ruby线程还是DRb?如何在线程之间传递消息?

感谢您的反馈!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-28 11:54:15

从一开始就保持简单--总是最好的建议。从两个线程开始,看看性能是否符合您的需求。您可以使用条件变量或简单的Mutexes来同步检索到的章节列表。你可能会遇到不足的问题--没有可用于渲染的章节,但你至少会有一个只使用核心Ruby的可行解决方案的骨架。

然后,一定要看看提供其他可能性的解决方案。除了DRb之外,您还应该查看EventMachine (阅读章节时可能需要的异步功能)和RabbitMQ,了解消息传递系统提供的更通用和更松散的耦合。

从小处着手,不要尝试走得太快。对于任何关心Ruby线程的人来说,我正在运行一个侦听RabbitMQ队列的小型报表呈现客户端。客户端使用四个线程来渲染(google)图形、发送警报和自动重置各种队列(在收集了几个小时的数据之后)。所有的工作都很棒!

克里斯

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1346368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档