Akka Actor介绍和用法详解

参与者是通过消息传递与其他参与者进行通信的实体。Actor有自己的状态和行为。就像在面向对象的编程中一样, 所有事物都是对象, 就像在基于角色的系统中一切都是角色一样。

换句话说, 我们可以说参与者是封装状态和行为的对象。

如何创建Actor?

你可以通过扩展Actor特性并实现它的receive方法来创建actor。参与者每次收到消息时都会调用此方法。 receive方法对接收到的消息进行模式匹配, 然后决定要做什么。

在这里, 我们创建了一个简单的” Hello Akka”程序。

你好Akka示例

import akka.actor.Actor;          // Importing actor trait
import akka.actor.ActorSystem;    
import akka.actor.Props;
class HelloAkka extends Actor{    // Extending actor trait
  def receive = {                 //  Receiving message
    case msg:String => println(msg)
    case _ =>println("Unknown message")		// Default case
  }
}

object Main{
  def main(args:Array[String]){
    var actorSystem = ActorSystem("ActorSystem");						// Creating ActorSystem
   var actor = actorSystem.actorOf(Props[HelloAkka], "HelloAkka")		//Creating actor
    actor ! "Hello Akka"                  								// Sending messages by using !
    actor ! 100.52
  }
}

输出

Hello Akka
Unknown message

在上面的示例中, 我们通过扩展Actor特质并覆盖接收方法来创建actor” HelloAkka”。你必须为所有收到的邮件提供区分大小写。以防万一, 如果有未知消息, 你需要像上例一样提供默认大小写。

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?