我如何让一个进程使用ActorOf创建Actor,并允许Actor ping父进程。我的目的是允许Actor向其父进程(ActorSystem主线程)发送信号以调用system.terminate。但不知道如何做到这一点。这里是snipit,但相反,我不想从主线程调用terminate,而是从Actor获取一个信号以调用terminate。这可行吗?
object MyTest {
def main(args: Array[String]): Unit = {
println("test test")
Thread.sleep(10000)
val system = ActorSystem("HelloSystem")
system.actorOf(TestActor.props("testactor"), name = "testactor")
system.terminate()
}
}
object TestActor {
def props(conf: String): Props = Props(new TestActor(conf))
case class AnswerMe(txt: String)
}
class TestActor(conf: String) extends Actor {
import TestActor._
override def receive: PartialFunction[Any, Unit] = {
case AnswerMe(txt) => {
println(s"$txt")
?? ! "answer"
}
}
}
1条答案
按热度按时间62lalag41#
我只是自己想出来的。我将简单地把ActorSystem传递给actor,然后在actor中,它将调用system.terminate。然后它将退出父对象。