根据本指南:
http://docs.scala-lang.org/overviews/core/actors-migration-guide.html
scala.actors._ -> akka.actor._
但是似乎没有InputChannel
// OutputChannel
。Channel
所以要从 Scala Actors 迁移到 Akka Actors,我在哪里可以找到那些 Channel API?
根据本指南:
http://docs.scala-lang.org/overviews/core/actors-migration-guide.html
scala.actors._ -> akka.actor._
但是似乎没有InputChannel
// OutputChannel
。Channel
所以要从 Scala Actors 迁移到 Akka Actors,我在哪里可以找到那些 Channel API?
我认为您可能想要的内容包含在最新版本的 Akka 中,称为 Typed Channels。它被标记为实验性的,因为它是一个新功能,并且可能会在一段时间内不断变化,但我相信它与您正在寻找的相似。
http://doc.akka.io/docs/akka/2.2.0/scala/typed-channels.html
有一个SynapseGrid库可以替代演员之间的类型化通道。
可以创建一个可以在参与者之间共享的所谓“联系人”。
在一个参与者(子系统)中,将数据传递给联系人:
val someInput = contact[String]("someInput")
val SharedContact = contact[String]("SharedContact")
outputs(SharedContact)
someInput.map("Hello, "+_)>>SharedContact
在另一个演员中,它出现在同一个联系人上,准备好使用:
inputs(SharedContact)
SharedContact.map(_+"!").foreach(s => println("Got from other actor: "+s))
一切都是严格输入的。
但是,SynapseGrid 更适合大型系统。