学无所长,一事无成
发布时间: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,使.........【阅读全文】
发布时间:2013-11-18 10:38:48
Timer : https://github.com/celluloid/celluloid/wiki/Timers所有的 Celluloid actor 内部都包含有一个定时器 Timer ,用于规划时间调度任务。这个特性非常有用,可以设置超时检测以及其他时间相关的任务。先看下 Celluloid#after 方法:class TimerExample include Celluloid.........【阅读全文】
发布时间:2013-10-25 10:52:11
Registry : https://github.com/celluloid/celluloid/wiki/Registry通过 Registry 我们可以将 actor 登记注册,随后我们就可以使用符号进行引用,使用方法如下:>> james = JamesDean.new => #>> Celluloid::Actor[:james] = james.........【阅读全文】
发布时间:2013-10-23 14:43:24
前一天我们学习了 Cellulod 中 async、futuren 的用法。本节学习 signal、link。signal:https://github.com/celluloid/celluloid/wiki/Signalingsignal 功能强大,稍有不慎容易死锁。基本用法很简单,就 signal 和wait 两个方法,看例子:require 'celluloid/autostart'class Signali.........【阅读全文】