学无所长,一事无成
发布时间:2013-11-26 14:11:50
https://github.com/celluloid/celluloid-io/wiki/Basic-Usage同 Celluloid 类似,只需要在普通类中添加 include Celluloid 即可。下例展示一个 echo server:require 'celluloid/io'require 'celluloid/autostart'class EchoServer include Celluloid::.........【阅读全文】
发布时间:2013-11-26 09:17:58
参考:http://www.erlang.org/download/armstrong_thesis_2003.pdf2.4.1 通过观察真实世界模拟编程我们常常希望编写程序为真实世界建模或同真实世界互动。使用 COPL(面向并发的编程语言) 来写那样的程序会比较容易。首先我们采用三步法进行分析:1、我们观察真实世界中的活跃个体来找出真正需要并发的程序个体。2、.........【阅读全文】
发布时间:2013-11-21 10:23:14
Celluloid 缺省使用 "ATOM 模式"(详见 Glossary)。在 ATOM 模式下,Celluloid actos 会流水化作业,在这种模式下,当你执行一个阻塞调用时,主程序还会继续响应输入的请求,而非等待调用返回。......【阅读全文】
发布时间:2013-11-19 00:42:34
问题:我的 Celluloid 一运行就退出,如何解决?如果你的程序全部由 Celluloid actors 构成,每个 acotr 将运行在自己的线程中,如果 Ruby 主线程没什么事情可做,按照 Ruby 的设计思想,主线程退出时,其他线程也将同时退出。因此,最简单的解决办法就是在主程序中加上一个 sleep。sleep还有一个办法.........【阅读全文】
发布时间:2013-11-18 11:21:53
Protocol Interaction:actor 间的交互协议https://github.com/celluloid/celluloid/wiki/Protocol-Interaction注意:这一部分为高阶内容,使用上较复杂。建议不要轻易尝试。Celluloid 使用的异步消息协议可以让你直接为 actors 添加某些行为。想要发送一个原始的异步消息(raw asynchronous message)给 actor,使.........【阅读全文】