0

鉴于下面的 Scala 代码:

演员1

 actor2 ! 'some_message

演员2

 receive (or react)
  {
    case 'some_message
         sender ! 'ok_message

actor2 可以获得关于发送者(actor1)的哪些信息?

如果多个参与者可以向 actor2 发送相同的消息,它如何判断消息来自哪个参与者?发件人中是否有可以查询的元数据?

我是 Scala 的新手。谢谢你的耐心。

...肯·R

4

1 回答 1

0

您实际上可以将发送原始消息的参与者作为消息的一部分发送。

演员1

actor2 ! ("message", self)

演员2

receive (or react) {
    case (string: String, sender: Actor) => {
        sender ! "another message"
    }
}

但是,应该注意的是,您应该只使用它来向原始发件人发送消息。直接在actor上调用函数可能会导致各种可怕的事情发生!

实际上,我今天刚刚在 Programming in Scala 中读到了这一点,所以如果你想了解更多关于它的信息,我强烈推荐这本书。

于 2013-08-07T22:46:04.453 回答