斯卡拉阿卡演员的行为()函数
所有我看过的工作是这样的教程:斯卡拉阿卡演员的行为()函数
class HelloWorldActor extends Actor {
def receive = {
case "Hello" => self.reply("World")
}
}
val myActor = system.actorOf(Props[MyActor], name = "myactor")
我想知道如果AKKA支持一个演员类像这里面的行为()函数:
class HelloWorldActor extends Actor {
def act() = {
}
}
然后你就可以拨打:
val myActor = new HelloWorldActor
myActor.start()
我想这样做,因为我的演员不会receieving任何消息。它只是在自己的工作。那么我可以在我的AKKA演员中使用act()函数吗?
在Akka中,您的演员应该在使用系统创建后自动启动。但是,听起来好像你想使用这个演员就像我们都从Java那里知道的纯线程。我认为这不是从惯用的角度来看的正确方法。你当然可以给你的演员添加一个开始消息,在创建之后将其发送给演员,并在处理程序中进行处理。但是如果你不想对任何消息作出反应,或许你应该考虑使用一个简单的线程或一个Future而不是一个actor。
如何使用普通线程或未来?期货功能?阅读本教程后,我不清楚如何使用未来。 – user1491739 2012-07-13 00:02:30
对于普通线程,只需扩展Java Thread类并实现'run()'方法即可。那里有很多例子。对于未来而言,@Debilski已经将你与一篇解释其用途的文章联系在一起。看看“直接使用”部分。如果两种解决方案都不适合你的问题,你应该更详细地描述它。 – 2012-07-13 00:16:42
如果你的演员没有收到任何消息,那么你的演员对此有何反应?也许你需要的是[未来](http://doc.akka.io/docs/akka/2.0.1/scala/futures.html)? – Debilski 2012-07-12 23:26:42