首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用akka的Scala异步计算

使用akka的Scala异步计算
EN

Stack Overflow用户
提问于 2014-04-09 12:05:28
回答 2查看 339关注 0票数 1

我试图设计一个程序来获得一组输入(比如一些数字)。

它将对每个输入进行一些计算,并收集结果。

我需要这是异步计算。

看看scala和akka,它看起来很完美,但我似乎无法理解我的演员的设计,谁会这样做呢?

例如:为每个calc创建一个参与者?和一个演员收集所有的结果?

对使用akka的设计有什么想法或文件吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-09 12:09:47

请看这个示例项目

这是一个akka参与者系统的示例,该系统有一个获得输入集的参与者。

对于每个输入,is将创建一个子参与者来计算这一点,最后将显示来自所有子参与者的结果。

自述:https://github.com/Nimrod007/Akka-Compute

代码:https://github.com/Nimrod007/Akka-Compute/blob/master/akkaComputeExample/src/main/scala/AkkaComputeApp.scala

票数 1
EN

Stack Overflow用户

发布于 2014-04-09 20:25:15

我不会直接回答你的问题,因为Nimrod007已经回答了。我不知道你的实际应用是什么,但我只想告诉你,使用直接期货可能要简单得多。

代码语言:javascript
复制
import scala.concurrent._
import scala.concurrent.duration._
import ExecutionContext.Implicits.global

object Example extends App {
  val futures = Range(1, 5).map(i => Future { i + 10 })
  val result = Future.fold(futures)(List.empty[Int])((answers, value) => value :: answers)
  result.onComplete(answersTry => answersTry.foreach(println))
  Thread.sleep(1000)
}

它和Nimrod007 007的代码一样,但是非常短。

我不是说你不应该用阿克卡。但是,您应该考虑什么最适合您的应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22961982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档