【发布时间】:2017-05-22 01:10:23
【问题描述】:
试图了解以下使用 sender 是否安全。
我在一些posts 上看到关闭发件人是不安全的,但如果调用是by value,则在调用该方法时会评估 sender(),对吗?
以下模式安全吗?
1.
context.system.scheduler.scheduleOnce(1 second, self, "foo")(executor = context.dispatcher, sender = sender())
2.
def receive: Receive = {
case "Process" => context.become(processing(sender())
}
def processing(replyTo: ActorRef): receive = {...}
3.
def receive: Receive = {
case "Process" =>
context.actorOf(Props(new FooActor(replyTo = sender())))
}
【问题讨论】:
-
1 和 2 是安全的,但不是 3。请参阅 Props.apply 的签名。