`

scala中的Akka通讯模型

 
阅读更多

package com.bjsxt

import scala.actors.Actor

case class Message(actor:Actor,msg:String)

class MyActor1 extends Actor {
 
  def act(): Unit = {
    while(true){
        receive {
          case message:Message =>{
            if(message.msg.equals("hello~")){
              println("hello~")
              message.actor ! "hi~"
            }else if(message.msg.equals("could we have a date?")){
              println("could we have a date?")
              message.actor ! "no..."
            }
          }
          case _ =>println("no match ...")
        }
    }
  }
 
}

class MyActor2(actor:Actor) extends Actor {
  actor ! Message(this,"hello~")
    def act(): Unit = {
            while(true){
                receive {
                  case s:String =>{
                    if(s.equals("hi~")){
                      println("hi~")
                      actor ! Message(this,"could we have a date?")
                    }else if(s.equals("no...")){
                        println("no...")
                        println("。。。。。。。。。。")
                    }
                  }
                  case _ =>println("no match ...")
                }
            }
    }
   
}
object Lesson_Actor02 {
  def main(args: Array[String]): Unit = {
    val actor1 = new MyActor1()
    val actor2 = new MyActor2(actor1)
    actor1.start()
    actor2.start()
  }
}

分享到:
评论

相关推荐

    响应式架构 消息模式Actor实现与Scala.Akka应用集成

    在Akka中,每个Actor都有自己的邮箱,用来存储待处理的消息。当一个Actor接收到消息时,它会在自己的上下文中执行,不会阻塞其他Actor的执行。这种并行处理方式使得系统能够高效地处理大量并发请求。此外,由于Actor...

    响应式架构++消息模式Actor实现与Scala.Akka应用集成+,沃恩·弗农+

    1. **Actor系统**:介绍Akka中的Actor系统是如何组织和管理Actor的,包括Actor的创建、生命周期管理和故障处理机制。 2. **消息传递**:讲解Actor之间的通信方式,包括发送消息的语法、异步消息处理以及如何处理...

    响应式架构 消息模式Actor实现与Scala.Akka应用集成 ,沃恩·弗农

    在这个主题中,我们将深入探讨消息模式下的Actor实现,以及如何在Scala中利用Akka框架进行应用集成。 首先,让我们理解什么是Actor模型。Actor模型是并发计算的一种理论框架,由Carl Hewitt在1973年提出。在该模型...

    响应式架构 消息模式Actor实现与Scala.Akka应用集成 高清扫描版

    响应式架构 消息模式Actor实现与Scala.Akka应用集成 高清扫描版

    Reactive Programming with Scala and Akka mobi

    Reactive Programming with Scala and Akka 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    响应式架构 消息模式Actor实现与Scala.Akka应用集成.rar

    其中包括:Actor模型和响应式软件的主要概念、Scala语言的基础知识、Akka框架与Akka集群功能、Actor模型中的通道机制和技术、降低消息源与消息目的地之间耦合性的方式、持久化Actor对象和幂等接收者。附录A中还介绍...

    Reactive Programming with Scala and Akka(Pdf格式)

    《Reactive Programming with Scala and Akka》是一本关于使用Scala语言和Akka框架开发响应式程序的专业书籍。...通过阅读和实践书中的内容,读者能够掌握如何利用Scala语言和Akka框架来实现复杂的、高性能的系统。

    Reactive.Programming.with.Scala.and.Akka.1783984341.epub

    Harness reactive programming to build scalable and fault-tolerant distributed systems using Scala and Akka About This Book Use the concepts of reactive programming to build distributed systems ...

    scala akka

    - **Actor模型**:在Akka中,Actor是最基本的并发单元。每个Actor都独立运行并且通过消息传递与其他Actor进行通信。 - **Actor系统(Actor System)**:Actor系统的概念类似于进程或线程的概念,但它是Akka中的核心...

    akka-http-microservice, 在 Scala & akka http中,编写了( 微型) 服务的示例.zip

    akka-http-microservice, 在 Scala & akka http中,编写了( 微型) 服务的示例 Akka HTTP microservice示例 这个项目演示了 Akka HTTP插件库和,以编写简单的REST ( 微型) 。 项目显示了大多数基于 Akka http的项目...

    用Scala写的akka actor简单demo

    标题中的“用Scala写的akka actor简单demo”指的是一个使用Scala编程语言编写的Akka Actor系统的基本示例。Akka是轻量级、基于actor模型的框架,它用于构建高度并发、分布式和容错的应用程序。Scala是多范式编程语言...

    Play开发资源+scala+akka

    在IT行业中,Play框架是一个非常流行的开源Web应用框架,它基于Scala和Java语言,采用Model-View-Controller(MVC)架构模式。Play框架以其简洁、高性能和开发效率高而受到开发者们的喜爱。本资源包涵盖了Play开发的...

    scala-akka-study:scala-akka学习探索

    3. **并发与并行**:探讨如何在Scala和Akka中有效地管理并发,包括使用Future、Promise等并发工具。 4. **分布式系统**:解释如何利用Akka的远程Actor和集群功能构建分布式系统,包括配置、路由和故障转移。 5. **...

    Akka Scala 学习高清原版pdf

    标签“Akka scala 并发 actor”则进一步具体化了文档内容,即深入探讨了Akka中的actor并发模型。 文档内容涉及到以下几个核心知识点: 1. 概述和入门: - Akka是什么?它是一个开源的工具集,用来简化在Java...

    Scala Akka项目源码

    2. **Actor**:Actor是Akka中的基本工作单元,它有自己的状态和行为。每个Actor通过消息传递与其他Actor通信,确保线程安全。Actor之间不会共享状态,减少了并发编程中的复杂性。 3. **消息传递**:Actor之间的通信...

    akka_2.12-2.4.18.zip

    在Akka中,Actors是轻量级的,可以创建大量实例而不会导致资源耗尽。它们之间的通信是通过发送不可变的消息进行的,这确保了并发安全。此外,Actor系统还提供了一种故障恢复机制,允许Actor在出现问题时重启或迁移,...

Global site tag (gtag.js) - Google Analytics