Akka Actor模型开发库开源项目

我要开发同款
匿名用户2011年02月17日
126阅读

技术信息

开源地址
https://github.com/akka/akka
授权协议
Apache

作品详情

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

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

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

Actor之间完全独立

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

Actor由标识和当前行为描述

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

非原始Actor有

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

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

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

所有消息发送都是并行的

Java代码:

public class Greetig implemets Serializable {  public fial Strig who;  public Greetig(Strig who) { this.who = who; }} public class GreetigActor exteds UtypedActor {  LoggigAdapter log = Loggig.getLogger(getCotext().system(), this);   public void oReceive(Object message) throws Exceptio {    if (message istaceof Greetig)      log.ifo("Hello " + ((Greetig) message).who);  }} ActorSystem system = ActorSystem.create("MySystem");ActorRef greeter = system.actorOf(Props.create(GreetigActor.class), "greeter");greeter.tell(ew Greetig("Charlie Parker"), ActorRef.oSeder());

Scala代码:

case class Greetig(who: Strig) class GreetigActor exteds Actor with ActorLoggig {  def receive = {    case Greetig(who) ⇒ log.ifo("Hello " + who)  }} val system = ActorSystem("MySystem")val greeter = system.actorOf(Props[GreetigActor], ame = "greeter")greeter ! Greetig("Charlie Parker")

 

在线APIdoc:https://tool.oschia.et/apidocs/apidoc?api=akka2.0.2%2Fapi

功能介绍

Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 Actor模型并非什么新鲜事物,它由Carl Hewitt于上世...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论