主目录
Akka Actor
import akka.actor.Actor import akka.actor.ActorSystem import akka.actor.Props //定义一个Actor class HelloActor extends Actor { //如果接收到"hello",返回"您好", 如果接收到其它,返回"您是?" def receive = { case "hello" => println("您好!") case _ => println("您是?") } } object Main extends App { //注意Akka系统消耗比较大,一个应用最好只构建一个 val system = ActorSystem("HelloSystem") /* 创建了一个HellActor的实例,返回结果类型为ActorRef 缺省的Actor构造函数 */ val helloActor = system.actorOf(Props[HelloActor], name = "helloactor") helloActor ! "hello" helloActor ! "喂" } //输出 //您好! //您是?
每个Actor有自己的消息队列,可以接受消息,然后对消息进行处理,上述是通过定义receive方法来实现
Actor的实例是不能直接使用new 来创建的,而是使用系统的actorOf方法来创建,注意Actor之间有层次关系(和人类社会一样)