线程还是DRb?

我需要在Ruby中连续运行2个(或者3个)程序“facets” - 一个通信线程,一个渲染线程,也许是一个缓存线程。 想法是渲染线程显示幻灯片放映(其定义从文件中读取),并且通信线程从远程HTTP服务器检索所有幻灯片。渲染必须是连续的并且没有停止(因此可能需要缓存)。该文件可能会在程序的生命周期中发生变化,因此需要重新解析(动态)。 我想在“facets”之间发送消息,例如当通信线程获得节目的整个“章节”时,渲染线程可以在等待整个节目下载之前启动,例如,依此类推。 我应该使用Ruby线程还是DRb?如何在线程之间传递消息? 感谢您的任何反馈!     
已邀请:
保持简单开始 - 始终是最好的建议。从两个线程开始,看看性能是否符合您的要求。您可以使用条件变量或简单的互斥锁来同步检索的章节列表。您可能会遇到欠载问题 - 没有可用于渲染的章节,但您至少可以使用核心Ruby而不仅仅使用可行解决方案的骨架。 然后一定要看看提供其他可能性的解决方案。除了DRb之外,您还应该查看EventMachine(用于阅读章节时可能需要的异步功能)和RabbitMQ,以获得消息传递系统提供的更通用和更松散的耦合。 从小处开始,不要试图移动得太快。对于任何担心Ruby线程的人,我正在运行一个小型报表呈现客户端侦听RabbitMQ队列。客户端使用四个线程来呈​​现(谷歌)图表,发送警报并自动重置各种队列(在收集了几个小时的数据之后)。一切都很棒! 克里斯     

要回复问题请先登录注册