Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。

Actor模型并非什么新鲜事物,它由Carl Hewitt于上世纪70年代早期提出,目的是为了解决分布式编程中一系列的编程问题。其特点如下:

系统中的所有事物都可以扮演一个Actor

Actor之间完全独立

在收到消息时Actor所采取的所有动作都是并行的,在一个方法中的动作没有明确的顺序

Actor由标识和当前行为描述

Actor可能被分成原始(primitive)和非原始(non primitive)类别

非原始Actor有

由一个邮件地址表示的标识

当前行为由一组知识(acquaintances)(实例变量或本地状态)和定义Actor在收到消息时将采取的动作组成

消息传递是非阻塞和异步的,其机制是邮件队列(mail-queue)

所有消息发送都是并行的

Java 代码:

public class Greeting implements Serializable {

public final String who;

public Greeting(String who) { this.who = who; }

}

public class GreetingActor extends UntypedActor {

LoggingAdapter log = Logging.getLogger(getContext().system(), this);

public void onReceive(Object message) throws Exception {

if (message instanceof Greeting)

log.info("Hello " + ((Greeting) message).who);

}

}

ActorSystem system = ActorSystem.create("MySystem");

ActorRef greeter = system.actorOf(Props.create(GreetingActor.class), "greeter");

greeter.tell(new Greeting("Charlie Parker"), ActorRef.noSender());

Scala 代码:

case class Greeting(who: String)

class GreetingActor extends Actor with ActorLogging {

def receive = {

case Greeting(who) ⇒ log.info("Hello " + who)

}

}

val system = ActorSystem("MySystem")

val greeter = system.actorOf(Props[GreetingActor], name = "greeter")

greeter ! Greeting("Charlie Parker")

akka linux 端口,Actor模型开发库 Akka相关推荐

  1. scala之Akka的Actor模型(上)

    原文地址:http://my.oschina.net/jingxing05/blog/287213 明确并行和并发 看两张图 并行parallelism 并发concurrency 关键点在于 多个任 ...

  2. 【Akka】Actor模型探索

    Akka是什么 Akka就是为了改变编写高容错性和强可扩展性的并发程序而生的.通过使用Actor模型我们提升了抽象级别,为构建正确的可扩展并发应用提供了一个更好的平台.在容错性方面我们采取了" ...

  3. Akka系列(二):Akka中的Actor系统

    Actor模型作为Akka中最核心的概念,所以Actor在Akka中的组织结构也至关重要,本文主要介绍Akka中Actor系统. Actor系统 Actor作为一种封装状态和行为的对象,总是需要一个系 ...

  4. akka连接是什么_什么是Akka?

    akka连接是什么 在深入探讨什么是Akka之前,让我们退后一步来了解并发编程的概念在应用程序开发世界中是如何演变的. 应用程序已从大型的整体程序演变为面向对象的模型. 随着Java EE和Sprin ...

  5. 关于actor模型的优缺点分析(1)

    actor model是1973年就提出的一个分布式并发编程模型,在erlang语言中得到广泛支持和应用.目前java中也出现了很多支持actor模型的库:akka.killim.jetlang等等, ...

  6. 关于actor模型的优缺点分析

    actor model是1973年就提出的一个分布式并发编程模型,在erlang语言中得到广泛支持和应用.目前Java中也出现了很多支持actor模型的库:akka.killim.jetlang等等, ...

  7. 下一代的 Actor 模型框架 Proto Actor

    ProtoAct 是下一代的 Actor 模型框架,提供了 .NET 和 Go 语言的实现,默认支持分布式,提供管理和监控功能.在过去几年,我们经常看到两种 Actor 模型方法相互竞争,首先是经典的 ...

  8. Java并发编程实战~Actor 模型

    Hello Actor 模型 Actor 模型本质上是一种计算模型,基本的计算单元称为 Actor,换言之,在 Actor 模型中,所有的计算都是在 Actor 中执行的.在面向对象编程里面,一切都是 ...

  9. Actor模型及原理

    1.Actor模型 在使用Java进行并发编程时需要特别的关注锁和内存原子性等一系列线程问题,而Actor模型内部的状态由它自己维护即它内部数据只能由它自己修改(通过消息传递来进行状态修改),所以使用 ...

最新文章

  1. 2019年工信部重点实验室名单公布 涵盖卫星导航及人工智能等多个领域
  2. javaScript Code 用javascript确定每月第二个星期五
  3. shell编程-变量
  4. 圣诞海报模板|给设计师点灵感
  5. C#一个FTP操作封装类FTPHelper
  6. .Net_asp.net页面的生命周期
  7. 计算机硬盘型号怎么看,硬盘编号怎么看
  8. ubuntu服务器系统进入安全模式,ubuntu bios 无法进入安全模式
  9. 基于HSLcommunication的SiemensTools 西门子PLC 调试工具
  10. win10系统登录服务器密码存储位置,win10远程服务器登录密码
  11. 外汇EA是什么?EA可靠吗?EA有什么缺点?
  12. Js常用40个页面效果
  13. openlayers3—地图图层数据来源(ol.source)
  14. 一起从零开始学VUE(1) VUE基本使用步骤和指令
  15. opencv图像处理—项目实战:文档扫描OCR识别
  16. Python 绘制遥感数字高程影像(DEM)
  17. librosa安装常见错误
  18. 多张图片转成PDF文件
  19. 题解 P4766 【[CERC2014]Outer space invaders】
  20. 三极管工作原理_【电子器件】02:三极管工作原理

热门文章

  1. .NET Core 2.2 新增部分功能使用尝鲜
  2. .NET Core开发日志——RequestDelegate
  3. 确保线程安全下使用Queue的Enqueue和Dequeue
  4. Microsoft使用.NET Core SDK遥测数据
  5. DDD理论学习系列(5)-- 统一建模语言
  6. 再讲IQueryablelt;Tgt;,揭开表达式树的神秘面纱
  7. 常用SEO优化之META标签
  8. SQL 数据库远程备份 语句
  9. 【数据库原理及应用】经典题库附答案(14章全)——第八章:数据库并发控制
  10. open ssl里面的自定义get***函数失效