文档章节

何为Akka Actor

jinlei_du
 jinlei_du
发布于 2017/02/24 16:24
字数 610
阅读 5
收藏 0
点赞 0
评论 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 ⋅ 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 ⋅ 2

Akka路由_RoundRobinRoutingLogic

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

秋风醉了 ⋅ 2015/01/20 ⋅ 0

Akka2使用探索1(Remoting)

akka从1.2升级到现在的2.0.2后有了很大的改变。现在摸索一下如何使用。 Remoting可以方便地用于服务器之间通信。akka1.2可以使用clientActor.sendRequestReply将消息发送到服务器端,并且同步...

飞飞狐 ⋅ 2012/09/29 ⋅ 0

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 ⋅ 1

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 ⋅ 1

Akka Actor Inbox_信箱

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

秋风醉了 ⋅ 2015/01/12 ⋅ 1

Akka路由_BroadcastRoutingLogic

Akka路由_BroadcastRoutingLogic 路由actor是将收到的消息路由到目的actor的actor. 路由acto将消息发送给它所管理的称为 ‘routees’ 的actor。 在Akka中,受Router管理的actor称作 Routee...

秋风醉了 ⋅ 2015/01/20 ⋅ 0

Scala笔记整理(九):Actor和AKKA

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

xpleaf ⋅ 04/24 ⋅ 0

Akka框架基本要点介绍

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

东风125 ⋅ 2015/11/28 ⋅ 2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

js模拟栈和队列

栈和队列 栈:LIFO(先进后出)一种数据结构 队列:LILO(先进先出)一种数据结构 使用的js方法 1.push();可以接收任意数量的参数,把它们逐个推进队尾(数组末尾),并返回修改后的数组长度。 2....

LIAOJIN1 ⋅ 28分钟前 ⋅ 0

180619-Yaml文件语法及读写小结

Yaml文件小结 Yaml文件有自己独立的语法,常用作配置文件使用,相比较于xml和json而言,减少很多不必要的标签或者括号,阅读也更加清晰简单;本篇主要介绍下YAML文件的基本语法,以及如何在J...

小灰灰Blog ⋅ 37分钟前 ⋅ 0

IEC60870-5-104规约传送原因

1:周期循环2:背景扫描3:自发4:初始化5:请求6:激活7:激活确认8:停止激活9:停止激活确认10:激活结束11:远程命令引起的返送信息12:当地命令引起的返送信息13:文件传送20:响应总召...

始终初心 ⋅ 50分钟前 ⋅ 0

【图文经典版】冒泡排序

1、可视化排序过程 对{ 6, 5, 3, 1, 8, 7, 2, 4 }进行冒泡排序的可视化动态过程如下 2、代码实现    public void contextLoads() {// 冒泡排序int[] a = { 6, 5, 3, 1, 8, 7, 2, ...

pocher ⋅ 今天 ⋅ 0

ORA-12537 TNS-12560 TNS-00530 ora-609解决

oracle 11g不能连接,卡住,ORA-12537 TNS-12560 TNS-00530 TNS-12502 tns-12505 ora-609 Windows Error: 54: Unknown error 解决方案。 今天折腾了一下午,为了查这个问题。。找了N多方案,...

lanybass ⋅ 今天 ⋅ 0

IDEA反向映射Mybatis

1.首先在pom文件的plugins中添加maven对mybatis-generator插件的支持 ` <!-- mybatis逆向工程 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-ma......

lichengyou20 ⋅ 今天 ⋅ 0

4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例

准备磁盘分区 fdisk /dev/sdb n 创建三个新分区,分别1G t 改变分区类型为8e 准备物理卷 pvcreate /dev/sdb1 pvcreate /dev/sdb2 pvcreate /dev/sdb3 pvdisplay/pvs 列出当前的物理卷 pvremo...

Linux_老吴 ⋅ 今天 ⋅ 0

zabbix 3.4安装

#已装好lamp环境 1.安装相关yum仓库 rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm #tip:rpm -ql zabbix-release 看上面这个软件装了哪些东......

山月关 ⋅ 今天 ⋅ 0

Java的Excel导出工具类

首先在POM中引入需要的Jar <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency><dependency><groupId>o......

Kxvz ⋅ 今天 ⋅ 0

springboot 使用jsp

目录结构: 启动文件的Application必须在contorller文件的父级 文件路径在src/main/webapp下面 我的配置:前缀是/WEB-INF/jsp/ pom.xml需要加入tomcat-embed-jasper, 对jsp的支持的依赖 <de...

夜醒者 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部