1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 Akka 2.3.8 发布,Actor 开发模型库 下载

本帖由 漂亮的石头2014-12-16 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    486,020
    赞:
    46
    Akka 2.3.8 发布,此版本现已提供下载,暂未有相关说明,改进内容请看 commit 列表

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

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


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


    • Actor之间完全独立


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


    • Actor由标识和当前行为描述


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


    • 非原始Actor有


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


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

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


    • 所有消息发送都是并行的

    Java代码:

    // server code
    class HelloWorldActor extends UntypedActor {
    public void onReceive(Object msg) {
    getContext().reply(msg + " World");
    }
    }
    remote().start("localhost", 9999).register(
    "hello-service",
    actorOf(HelloWorldActor.class));
    // client code
    ActorRef actor = remote().actorFor(
    "hello-service", "localhost", 9999);
    Object res = actor.sendRequestReply("Hello");

    Scala 代码:

    // server code
    class HelloWorldActor extends Actor {
    def receive = {
    case msg => self reply (msg + " World")
    }
    }
    remote.start("localhost", 9999).register(
    "hello-service", actorOf[HelloWorldActor])
    // client code
    val actor = remote.actorFor(
    "hello-service", "localhost", 9999)
    val result = actor !! "Hello"
    Akka 2.3.8 发布,Actor 开发模型库下载地址
     
正在加载...