文档章节

何为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
闵行
程序员
如何保证在ActorSystem关闭的时候,所有的ActorRef任务都能执行完?

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

ChangeZ
2017/09/10
32
0
spark shell 运行异常

Association with remote system [akka.tcp://sparkMaster@master :7077] has failed, address is now gated for [5000] ms. Reason: [Association failed with [akka.tcp://sparkMaster@mas......

sca7
2016/08/26
408
2
java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;

" java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet; at akka.actor.ActorCell$.(ActorCell.scala:336) at akka.actor.Actor......

sca7
2017/10/18
56
1
akka的项目在jetty中无法启动

命令 sbt jetty-run log如下 14:46:05.843 [main] INFO akka.servlet.AkkaLoader - Shutting down Akka... 14:46:05.843 [main] INFO akka.servlet.Initializer$$anon$1 - Shutting down Rem......

jingshishengxu
2011/06/01
720
1
Akka路由_RoundRobinRoutingLogic

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

秋风醉了
2015/01/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部