在Actor模式中我们使用IActorRef通过ActorSystem来发送消息数据。这么做有两个理由

1.ActorSystem会在消息中封装一些元数据(metadata),这些数据我们可以通过上下文来获取。

2.我们可以让实例Actor位置透明,也就是说我们针对的某个Actor只是一个逻辑Actor,可以在本地也可能在远程。系统为我们做了许多封装,跟踪工作。在分布式环境下这是不可或缺的。

那我们如何获取IActorRef接口呢?

既然我们依仗ActorSystem那么接口也是通过System实例来获得。特别需要注意的是,所以的Actor实例都应该通过ActorSystem或者Context来构建,否则就失去了使用该框架的意义,也会混淆系统的使用。另外在构建时最好给出Actor的Name可以方便之后的引用。

IActorRef myFirstActor = MyActorSystem.ActorOf(Props.Create(() => new MyActorClass()), "myFirstActor")

那什么是Props呢?

Props是一个配置类,使用其中的参数就可以构建对应的Actor。我想是不是可以理解成一个工厂类,用来生成对应的对象。不过也是需要通过ActorSystem来进行的。在Remote和Cluster中Props是构建Actor不可或缺的组件。

还有一点需要注意的是也不应使用new来构建Prop,而要使用Prop提供的Create接口。

最新文章

  1. 一个简易的MysQL性能查询脚本
  2. C语言 第五章 循环结构练习
  3. 每天一个linux命令(60):scp命令
  4. 使用IDEA进行远程调试
  5. 刨根问底Objective-C Runtime
  6. oracle 中的trunc()函数及加一个月,一天,一小时,一分钟,一秒钟方法
  7. zmq-ios framwork
  8. nohup命令浅析
  9. django models 建立好后,table也创建成功了,为什么网页后台不显示的问题
  10. MetInfo安装
  11. C#编程中的66个好习惯,你有多少个?(转)
  12. Webform——验证控件
  13. iOS多线程编程指南(一)关于多线程编程(转)
  14. Genymotion 插件在 Eclipse 和 Android Studio 中点击后无法初始化 Initialize Engine: failed 解决方法
  15. js分页模板
  16. Confluence安装&破解&汉化
  17. 容器化时代我们应当选择Kubernetes
  18. GitHub 可以免费创建私人仓库啦
  19. jQuery设置元素的readonly和disabled属性
  20. 《吃了么》Alpha版本发布说明

热门文章

  1. UIPasteboard
  2. [SinGuLaRiTy] NOIP膜你赛-Day 1
  3. AngularJS(三)——指令实战及自定义指令
  4. dede地图显示最新文章的解决方法
  5. jmeter+Jenkins性能测试自动化搭建
  6. c++运算符重载-如何决定作为成员函数还是非成员函数
  7. 模拟使用zookeeper实现master选举
  8. VS2008 生成的程序有管理员权限
  9. python解释器安装
  10. vue四、实例