我一直在努力与演员一起玩,但我遇到了一个问题。当我尝试将某些内容发送回调用者时,它似乎根本没有完成,即使它正在处理不同的情况。 我在父演员中的收到如下:
receive {
case (x,1) => { // case of html
println("reaches here!")
}
case (url,name,2) => {
println("doesnt reach here!")
}
case _ => println("Error on callback")
}
我的演员'(类处理器)行为方法(释义): 第一个actor的act方法将调用以下代码:
{
println()
caller ! (s,1)
println(caller)
val processUrls = new Processor(2, s.toString, caller, map, queue)
processUrls.start()
}
所以上面的那个有效。它产生同一个类的另一个actor,它调用一个不同的方法,但是将它传递给同一个调用者,这样原始调用者就会收到该消息。它在它的行为中调用以下方法:
{
...
...
println(caller)
caller ! (url, name.get, 2)
}
到目前为止,调用者是完全相同的(在两个地方打印它会产生完全相同的东西。
然而,当我尝试在第二种方法中发回该消息时,绝对没有打印。这就像呼叫者甚至没有收到消息。即使是全能_案例也不会被打印出来。我不知道发生了什么。
答案 0 :(得分:1)
没关系,我没有被环绕的接收......