Scala actor

来源:互联网 发布:c语言 变量初始化顺序 编辑:程序博客网 时间:2024/05/22 02:30

主目录

  • Akka Actor

    import akka.actor.Actorimport akka.actor.ActorSystemimport akka.actor.Props //定义一个Actorclass 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之间有层次关系(和人类社会一样)

参考

  • Akka入门编程实践