文档章节

何为Akka Actor

jinlei_du
 jinlei_du
发布于 2017/02/24 16:24
字数 610
阅读 5
收藏 0

#何为AKKA Actor

Akka Actor是一个包含状态,行为,邮箱地址,子Actor以及监督机制的容器,所有这些都被封装在Actor引用之后。更需要注意的一个概念是Actor有一个显式的生命流程,没有被引用Actor 不会自动被自动析构或者释放,当你创建了一个Actor时,你应确保最后正确的释放它。同时,这给了你一个契机来决定如何释放Actor相关的资源。

#何为 Actor 模型 在计算机科学中,Actor模型是1973提出的关于并行计算的数据模型。Actor可以根据收到的message来做逻辑决策,创建更多的actor,发送更多消息或者决定如何处理下一条消息。Actor可以改变自己的私有状态,但必须是通过通过消息。

Actor模型灵感来自物理,包括广义相对论和量子力学。它也受到编程语言Lisp,Smalltalk的早期版本以及权能管理模型和分组交换网络的影响。它的发展是”高度并行计算机的前景,由几十,几百或甚至上千个独立的微处理器组成,每个都有自己的本地存储器和通信处理器,通过高性能通信网络进行通信”

一切是都是Actor是Actor模型的基本概念,类似于一切是对象之于面向对象领域。 Actor是计算的实体用于响应它接收的消息。他可以同时:

  • 向其他Actor发送消息
  • 创建新的Actor
  • 指定要用于其接收的下一个消息的行为 上述行为没有假定的顺序,可以并行执行。

分离将发送者和发送的消息是Actor模型的有点,通过消息传递来实现了异步通信和结构控制。

消息的收件人由地址标识,有时称为“邮寄地址”。因此,Actor只能通过“邮寄地址”与其他Actor通信。Actor可以从它接收的消息中获得这些“邮寄地址” ,甚至它自己创建的子Actor发送的消息。

Actor模型的特征在于在Actor之间固有的并发性,动态的创建,消息中包含的Actor地址,以及仅通过异步消息来交互(对消息到达的顺序并无限制)

© 著作权归作者所有

共有 人打赏支持
jinlei_du
粉丝 0
博文 2
码字总数 1031
作品 0
闵行
程序员
私信 提问
Akka路由_RoundRobinRoutingLogic

Akka路由_RoundRobinRoutingLogic 使用Round Robin算法的Router,代码中有注释,基本和上篇文章中的代码一样 http://my.oschina.net/xinxingegeya/blog/369721, 具体如下,关于Round Robin...

秋风醉了
2015/01/20
0
0
Akka框架基本要点介绍

Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable)、弹性的(Resilient)、快速响应的(Responsive)应用程序的平台。本文基本上是基于Akka的官方文档(版本是2.3.12),通过自己的...

东风125
2015/11/28
120
2
如何保证在ActorSystem关闭的时候,所有的ActorRef任务都能执行完?

做过一个实验,把要处理的任务sleep 100ms,然后循环tell10次,也就是onReceiver那里会比较耗时,然后循环tell完之后。立即关闭ActorSystem,会报错,只执行了第一次的任务,后来的几次都没执...

ChangeZ
2017/09/10
195
2
Akka Actor Inbox_信箱

Akka Actor Inbox信箱 Inboxsend_receive Inbox 形象的表示为Actor的信箱,具有收发信息的功能,所以,Inbox 对象有这两种方法: send(target, "hello") ; receive(Duration. create(1, Time......

秋风醉了
2015/01/12
0
1
Scala笔记整理(九):Actor和AKKA

[TOC] 概述 Scala的Actor有点类似于Java中的多线程编程。但是不同的是,Scala的Actor提供的模型与多线程有所不同。Scala的Actor尽可能地避免锁和共享状态,从而避免多线程并发时出现资源争用...

xpleaf
2018/04/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

vue 对对象的属性进行修改时,不能渲染页面 vue.$set()

我在vue里的方法里给一个对象添加某个属性时,我console.log出来的是已经更改的object ,但是页面始终没有变化 原因如下: **受现代 JavaScript 的限制 (而且 Object.observe 也已经被废弃),...

Js_Mei
49分钟前
0
0
开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
12
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
8
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
4
0
XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部