使用Akka Hello World示例进行简单并发

 不言不语都可以温柔_631 发布于 2023-02-13 18:42

我正在评估Akka的分布式服务层,下面的例子打印Hello {n} 10次,但是一个接一个地打印.根据我的理解,这是一个Akka演员的故意,所以我从哪里开始使其并发?

import akka.actor._

object HelloActor {
  case class SayHello(message: String)
}

class HelloActor extends Actor {
  def receive = {
    case HelloActor.SayHello(message) =>
      Thread.sleep(1000)
      println(message)
  }
}

object Main extends App {
  val system = ActorSystem("ActorSystem")

  val hello = system.actorOf(Props[HelloActor])

  for (i <- 1 to 10) {
    hello ! HelloActor.SayHello(s"Hello $i")
  }
}

我已经尝试过从Main类创建多个actor但是在某种程度上感觉不对,我不应该只调用actor然后它自己处理并发/产生更多的actor吗?任何人都可以提供一个这样的例子(最好是修改上面的代码).我一直在阅读和阅读,但立刻感觉很多,我觉得我在某处错过了一个关键概念.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有